1 Swagger简介3

swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。
作用:
1.接口文档自动在线生成。
2.功能测试。
Swagger是一组开源项目,其中主要项目如下:
1.Swagger-tools:提供各种与Swagger进行集成和交互的工具。例如模式检验、Swagger1.2文档转换成Swagger2.0文档等功能。
2.Swagger-core:用于Java/Scala的Swagger实现。与JAX-RS(Jersey、Resteasy、CXF…)、Servlets和Play框架进行集成。
3.Swagger-js:用于JavaScript的Swagger实现。
4.Swagger-node-express:Swagger模块,用于node.js的Express web应用框架。
5.Swagger-ui:一个无依赖的HTML、JS和CSS集合,可以为Swagger兼容API动态生成优雅文档。
6.Swagger-codegen:一个模板驱动引擎,通过分析用户Swagger资源声明以各种语言生成客户端代码。
2 Maven

可根据实际情况修改版本号

<!-- swagger --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version></dependency><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.9.2</version></dependency>

3 创建Swagger配置类

创建Swagger配置类SwaggerConfiguration

/*** Swagger配置*/@Configuration
@EnableSwagger2
public class SwaggerConfiguration {@Beanpublic Docket createRestApi() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage("com.swaggertest.api")).paths(PathSelectors.any()).build();}private ApiInfo apiInfo() {return new ApiInfoBuilder().title("接口文档").description("<div>&nbsp;</div>" +"<div>&nbsp;</div>" +"<div>接口说明</div>" +"<div>&nbsp;</div>" +"<div>&nbsp;</div>" "<div>&nbsp;</div>").version("1.0").build();}
}

4 添加文档内容

Swagger使用的注解及其说明:
@Api:用在类上,说明该类的作用。
@ApiOperation:注释来给API增加方法说明。
@ApiImplicitParams:用在方法上包含一组参数说明。
@ApiImplicitParam:用来注解来给方法入参增加说明。
@ApiResponses:用于表示一组响应。
@ApiResponse:用在@ApiResponses中,一般用于表达一个错误的响应信息
| code:数字,例如400
| message:信息,例如“请求参数没填好”
| response:抛出异常的类
@ApiModel:描述一个Model的信息(一般用于在请求参数无法使用@ApiImplicitParam注解进行描述的时候)
@ApiModelProperty:描述一个model的属性

@ApiImplicitParam的参数说明如下:

@Api(description = "系统用户相关接口", tags = ApiIndex.UserController)
@RequestMapping(value = "/api/user")
@RestController
public class UserController {@AutowiredIUserService service;@ApiOperation(value = "查询列表")@GetMapping(value = "/list")@ApiImplicitParam(name = "token", value = "签名", paramType = "query", dataType = "String")@Tokenpublic R<PageInfo<List<UserVO>>> list(@ApiParam(value = "查询参数") @ModelAttribute UserSearchVO searchVO) {List<UserVO> list = service.getList(searchVO);PageInfo pageInfo = new PageInfo(list);return new R(pageInfo);}
}

完成上述代码,启动springboot程序,访问http://localhost:8080/swagger-ui.html

Swagger Ui使用介绍(建议收藏)相关推荐

  1. 推荐几款精致的前端web UI框架,建议收藏

    如果你在找Web UI框架,不妨看看百度的NoahV框架:https://github.com/baidu/NoahV 主要包含如下特性: 1.上手简单,提供常用的各类组件,快速开始前端开发 2.导航 ...

  2. Swagger UI使用介绍

    1 Swagger简介 swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法 ...

  3. ❤️六万字《SpringMVC框架介绍—从入门到高级》(建议收藏)❤️

    <SpringMVC框架介绍>(建议收藏) ❤️希望博友给个三连+关注!!! SSM: mybatis + Spring + SpringMVC MVC三层架构 SpringMVC + V ...

  4. ❤️《微服务开发—Swagger》(建议收藏)

    Swagger 文章目录 Swagger 1.Swagger的作用和概念 1.Swagger 的优势 2.SwaggerUI 特点 2.SpringBoot集成Swagger 3.配置Swagger ...

  5. Swagger Annotation 详解(建议收藏)

    转载:https://www.jianshu.com/p/b0b19368e4a8 在软件开发行业,管理文档是件头疼的事.不是文档难于撰写,而是文档难于维护,因为需求与代码会经常变动,尤其在采用敏捷软 ...

  6. 2021年大数据HBase(六):HBase的高可用!【建议收藏】

    全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 HBase的高可用 一.HBASE高可用的简介 二.搭 ...

  7. 你需掌握的CSS知识都在这了(长文建议收藏,文末有福利)

    1.CSS盒模型,在不同浏览器的差异 css 标准盒子模型 css盒子模型 又称为框模型(Box Model),包含了元素内容(content).内边距(padding).边框(border).外边距 ...

  8. ❤️14万字的《微服务开发SpringBoot—从基础高级》(建议收藏)❤️

    文章目录 1.什么是SpringBoot? Spring框架回顾 2.什么是微服务架构? 特点 3.第一个SpringBoot程序 1.环境准备 1.创建基础项目说明 2.项目创建方式一: 3.项目创 ...

  9. html类选择器使用在什么场景,你需掌握的CSS知识都在这了(长文建议收藏,文末有福利)...

    1.CSS盒模型,在不同浏览器的差异 css 标准盒子模型 css盒子模型 又称为框模型(Box Model),包含了元素内容(content).内边距(padding).边框(border).外边距 ...

最新文章

  1. intelliJ idea运行新的test功能时,报错:class not found ..... empty test suite
  2. 大型网站系统与Java中间件实践pdf
  3. ITTC数据挖掘平台介绍(综述)——平台简介
  4. CSS Reset(css的初始化)
  5. Linux学习笔记(一)——简介
  6. docker swarm快速搭建mogodb集群
  7. MS-SQL中创建索引
  8. [WPF自定义控件库] 自定义控件的代码如何与ControlTemplate交互
  9. 什么场景下声明式事务会失效?如何解决?
  10. 什么是一级域名和二级域名
  11. javaMail(javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection)
  12. 什么是NFT?你不会还不知道吧!
  13. 为什么大数据使用相关关系而不是因果分析?
  14. 敏捷转型(2)——企业文化
  15. Flutter AnimatedSwitcher 实现的滑动切换数字动画效果
  16. 《OpenCV与ROS入门》讲座笔记
  17. 集成方法-随机森林和AdaBoost
  18. 安装证书生成器来解决Fiddler代理抓包证书失效的问题
  19. Android go app 安装包,GO谷歌安装器下载
  20. 计算机四级考试题库 苹果,‎App Store 上的“计算机四级网络工程师考试题库”...

热门文章

  1. Git - stash(暂存区) 用法
  2. Keil5 uVision无法打开已有项目文件(2022/01/03)
  3. linux下安装Jenkins(centos7,另附使用docker安装)
  4. Android Studio开发过程中BUG解决方案——持续更新
  5. NewLife.Net——网络压测单机2266万tps
  6. Linux目录结构——树形目录结构
  7. 字体当货币? ——字体手护计划带来创意“字助商店”弘扬汉字文化
  8. 基于OpenCV和Tensorflow的深蹲检测器
  9. 分布式文件存储MinIO试用对比总结
  10. oracle命令解锁用户,在命令行下进行Oracle用户解锁的语句