官网、源代码

参考
Springfox与swagger的整合使用

前言

Swagger

Swagger 是一个流行的API开发框架,这个框架以“开放API声明”(OpenAPI Specification,OAS)为基础,对整个API的开发周期都提供了相应的解决方案,是一个非常庞大的项目(包括设计、编码和测试,几乎支持所有语言)。
OAS本身是一个API规范,它用于描述一整套API接口,包括一个接口是GET还是POST请求啊,有哪些参数哪些header啊,都会被包括在这个文件中。它在设计的时候通常是YAML格式,这种格式书写起来比较方便,而在网络中传输时又会以json形式居多,因为json的通用性比较强。

swagger-springmvc 发展出 SpringFox

由于Spring的流行,Marty Pitt编写了一个基于Spring的组件swagger-springmvc,用于将swagger集成到springmvc中来。而springfox则是从这个组件发展而来,同时springfox也是一个新的项目。
pringfox-swagger2依然是依赖OSA规范文档,也就是一个描述API的json文件,而这个组件的功能就是帮助我们自动生成这个json文件,我们会用到的另外一个组件springfox-swagger-ui就是将这个json文件解析出来,用一种更友好的方式呈现出来。

使用

Spring Boot 和 Swagger UI 集成
Spring Boot 集成springfox后,默认就带了swagger-ui.html了,不需要此操作。如果想对界面进行定制,则需要先从 github swagger-ui 上下载Swagger-UI, 把该项目dist目录下的内容拷贝到项目的resources的目录public下,然后再修改(具体百度)。

注解

参考
swagger注解 详细说明

@Api

用在类上,说明该类的作用

@Api(value = "UserController", description = "用户相关api")

@ApiOperation

用在方法上,说明方法的作用

@ApiOperation(value = "查找用户", notes = "查找用户", httpMethod = "GET", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)

@ApiImplicitParams

用在方法上包含一组参数说明

@ApiImplicitParam

用在@ApiImplicitParams注解中,指定一个请求参数的各个方面
paramType:参数放在哪个地方

header–>请求参数的获取:@RequestHeader
query–>请求参数的获取:@RequestParam
path(用于restful接口)–>请求参数的获取:@PathVariable
body(不常用)
form(不常用)

name:参数名
dataType:参数类型
required:参数是否必须传
value:参数的意思
defaultValue:参数的默认值

@ApiImplicitParams({@ApiImplicitParam(name = "id", value = "唯一id", required = true, dataType = "Long", paramType = "path"),
})

@ApiResponses

用于表示一组响应

@ApiResponse

用在@ApiResponses中,一般用于表达一个错误的响应信息
code:数字,例如400
message:信息,例如”请求参数没填好”
response:抛出异常的类

@ApiResponses(value = {@ApiResponse(code = 400, message = "No Name Provided")  })

@ApiModel

Swagger-core builds the model definitions based on the references to them throughout the API introspection.
The @ApiModel allows you to manipulate the meta data of a model from a simple description or name change to a definition of polymorphism.
描述一个Model的信息(这种一般用在post创建的时候,使用@RequestBody这样的场景,请求参数无法使用@ApiImplicitParam注解进行描述的时候)

@ApiModel(value = "用户实体类")

@ApiModelProperty

描述一个model的属性

@ApiModelProperty(value = "登录用户")
@ApiIgnore //使用这个注解忽略这个接口

SpringFox 学习相关推荐

  1. Swagger 学习笔记 | Swagger 简介 | Springfox 简介 | Springfox 2.9.2 常用注解 | Spring Boot 整合 Swagger2 案例

    文章目录 一.Swagger 简介 二.Springfox 简介 三.Springfox2.9.2 常用注解 四.SpringBoot 整合 Swagger2 4.1 引入Maven依赖 4.2 项目 ...

  2. springboot学习(七十三) springboot中使用springdoc替换swagger(springfox)

    文章目录 前言 一.springdoc介绍 二.使用步骤 1.引入库 2. 创建一个spring配置类,添加springdoc的配置 3. 常用的swagger注解和springdoc的对应关系 4. ...

  3. SpringBoot学习笔记(16)----SpringBoot整合Swagger2

    Swagger 是一个规范和完整的框架,用于生成,描述,调用和可视化RESTful风格的web服务 http://swagger.io Springfox的前身是swagger-springmvc,是 ...

  4. springfox源码_springfox 源码分析(七) 文档初始化

    时间:2019-5-23 20:12:04 地点:家中 通过前面几篇文章对springfox的介绍,以及我们的学习准备工作,这篇我们将正式来探索springfox是如何初始化的 我们在学算法的时候,其 ...

  5. 最通俗易懂的SpringBoot经典学习笔记讲解

    导读:课程概览 1. Spring Boot是什么 我们知道,从 2002 年开始,Spring 一直在飞速的发展,如今已经成为了在Java EE(Java Enterprise Edition)开发 ...

  6. SpringBoot经典学习笔记

    本文非原创,仅为自己方便查看转载,作者信息在下方,侵权删,感谢! 作者信息 本课程首发于 CSDN GitChat 达人课<跟武哥一起学Spring Boot>,该文档为课程详细笔记. 作 ...

  7. SpringBoot基础学习之整合Swagger框架(上篇)

    前言: 小伙伴们,大家好,我是狂奔の蜗牛rz,当然你们可以叫我蜗牛君,我是一个学习Java半年多时间的小菜鸟,同时还有一个伟大的梦想,那就是有朝一日,成为一个优秀的Java架构师. 这个SpringB ...

  8. MyBatisPlus 学习笔记_MP的AR模式

    狂神说 MyBatisPlus 学习笔记 一.快速入门 文档:https://mp.baomidou.com/ 使用第三方组件: 导入对应依赖 研究依赖如何配置 代码如何编写 提高扩展技术能力 步骤: ...

  9. Springboot 项目学习

    Springboot 项目快速入门 参考视频:https://www.bilibili.com/video/BV1nV4y1s7ZN?spm_id_from=333.337.search-card.a ...

最新文章

  1. 收藏 | 精选11篇AI领域论文(附代码、数据集链接)
  2. 【自用】 Android Studio Gradle sync failed
  3. effective c++ 学习
  4. js pug 代码_pug模版学习(一)
  5. 机器人暮色枪骑皮肤_吃鸡幸运新转盘:新载具皮肤和纸盒武器皮肤!
  6. 【洛谷习题】填涂颜色
  7. 低代码平台,JeecgBoot v3.0版本发布—新里程牌开始,迎接VUE3版本到来
  8. iOS 9 学习系列:Storyboard References
  9. 您是如何开始使用Linux的?
  10. JAVA多线程----用--取钱问题1
  11. 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第6节 Lambda表达式_3_编程思想转换体验Lambda的更优写法...
  12. 2021-08-30缺失的第一个正数
  13. qt之tcp通信,制作简易的仿qq功能
  14. 更改google桌面搜索的索引文件位置
  15. Ticket管理工具:Redmine
  16. VMware Workstation Pro 虚拟机启动失败 cpu虚拟化开启
  17. python求和函数详解_python求和函数sum()详解
  18. 实用思维导图、流程图模板合集,让你的头脑灵活起来
  19. python中r 4.2f%r,006 Python中的 字符串String
  20. 视频处理及MAX7456的图文解释

热门文章

  1. 深度学习利器之自动微分(2)
  2. opencv畸变校正的两种方法
  3. 11.7亿、苹果仅20%、1/4的时间看短视频...关于互联网,你必须知道的几个数字......
  4. 利用Word邮件合并插入图片
  5. 利用python对Excel进行读写操作
  6. python3GUI--翻译器By:PyQt5(附源码)
  7. 如何在HTML页面中编写大于号和小于号?(HTML实体)
  8. 适合人工智能AI的编程语言有哪些 哪些语言适用于人工智能 人工智能开发语言排行榜
  9. UG\NX二次开发 Visual Studio平台工具集介绍
  10. linux man手册返回错误 man: command exited with status 159