swagger的详细注解
| **作用范围** | **API** | **API常用参数** | **作用位置** |
| :----------------: | :----------------: | :----------------------------------------------------------: | :--------------------------: |
| 协议集描述 | @Api | @Api(tags = {"tag1","tag2","..."}) | controller类 |
| 协议描述 | @ApiOperation | @ApiOperation(value = "功能描述",notes = "备注") | controller类的方法 |
| 描述返回对象的意义 | @ApiModel | @ApiModel(value="类名",description="类描述") | 返回对象类 |
| 对象属性 | @ApiModelProperty | @ApiModelProperty(value = "类属性描述",required = *true*,example = "属性举例",notes = "备注") | 出入参数对象的字段 |
| 非对象参数集 | @ApiImplicitParams | @ApiImplicitParams({@ApiImplicitParam(),@ApiImplicitParam(),...}) | controller的方法 |
| 非对象参数描述 | @ApiImplicitParam | @ApiImplicitParam(name = "参数名",value = "参数描述",required = *true*,paramType = "接口传参类型",dataType = "参数数据类型") | @ApiImplicitParams的方法里用 |
| Response集 | @ApiResponses | @ApiResponses({ @ApiResponse(),@ApiResponse(),..}) | controller的方法 |
| Response | @ApiResponse | @ApiResponse(code = 10001, message = "返回信息") | @ApiResponses里用 |
| 忽略注解 | @ApiIgnore | @ApiIgnore | 类,方法,方法参数 |
API使用详细说明
@Api
作用
:用来指定接口的描述文字
修饰范围
:作用在类上
@Api(tags = "TestController测试")
@RestController
public class TestController {....
}
@ApiOperation
作用
:用来对接口中具体方法做描述
修饰范围
:作用在方法上
@ApiOperation(value = "接口总体描述",notes = "<span style='color:red;'>详细描述:</span> 方法详细描述信息")
@GetMapping("/")
public String login(String... index) {return "Hello login ~";
}
value
:用来对接口的总体描述
notes
:用来对接口的详细描述
@ApiImplicitParams
作用
:用来对接口中参数进行说明
修饰范围
:作用在方法上
参数
:@ApiImplicitParam数组
@ApiImplicitParam
作用
:修饰接口方法里面的参
修饰范围
:作用方法上
参数
:
name
:方法参数名称value
:方法参数的描述dataType
:方法参数数据类型defaultValue
:方法参数默认值(给测试人员做测试用的)paramType
:默认query
:对应方式一path
:对应方式二body
:对应方式三
方式一:url?id=1&user='qlh'后面参数
@ApiOperation(value = "接口总体描述", notes = "<span style='color:red;'>详细描述:</span> 方法详细描述信息")
@ApiImplicitParams({@ApiImplicitParam(name = "username", value = "用户名", dataType = "String", defaultValue = "qlh"),@ApiImplicitParam(name = "password", value = "密码", dataType = "String", defaultValue = "123")
})
@PostMapping("/")
public String login(String username, String password) {return "Hello login ~";
}
方式二:url/1/2路径后 传参 在路径中获取参数
@ApiOperation(value = "接口总体描述", notes = "<span style='color:red;'>详细描述:</span> 方法详细描述信息")
@ApiImplicitParams({@ApiImplicitParam(name = "id", value = "id", dataType = "String", defaultValue = "qlh",paramType = "path"),@ApiImplicitParam(name = "name", value = "姓名", dataType = "String", defaultValue = "123",paramType = "path")
})
@PostMapping("/index/{id}/{name}")
public String index(@PathVariable("id") String id, @PathVariable("name") String name) {return "Hello World ~";
}
方式三:在body中传参
@ApiOperation(value = "接口总体描述", notes = "<span style='color:red;'>详细描述:</span> 方法详细描述信息")
@ApiImplicitParams({@ApiImplicitParam(name = "id", value = "id", dataType = "String", defaultValue = "xxx", paramType = "body"),@ApiImplicitParam(name = "name", value = "姓名", dataType = "String", defaultValue = "123", paramType = "body")
})
@PostMapping("/index")
public String index(@RequestBody Map<String, Object> map) {return "Hello World ~";
}
@ApiResponses
作用
:用于接口的响应结果
修改范围
:作用在接口方法上
参数
:@ApiResponse数组
@ApiResponses({@ApiResponse(),@ApiResponse(),...
})
@ApiResponse
作用
:在ApiResponses里面对响应码以及响应内容进行设置
修饰范围
:作用接口方法上
参数
:
code
:响应状态码message
:响应状态码对应的响应内容
@ApiResponse(code = 10001, message = "签名错误"),
@ApiResponse(code = 10002, message = "sql错误"),
@ApiResponse(code = 10003, message = "服务怠机,请稍后重试"),
@ApiIgnore
作用
:忽略类,方法,参数。(忽略的意思:在swagger-ui.html中不显示)
修改范围
:作用在类,方法,参数上
@ApiIgnore
实体类中swagger注解
@ApiModel
作用
:用来对实体类进行说明
修饰范围
:作用在类上
@ApiModel(value="类名",description = "实体类描述")
@ApiModelProperty
作用
:用来对实体类中的属性进行说明
修饰范围
:作用在类中的属性上
@ApiModelProperty(value = "类属性描述",required = true,example = "属性举例",notes = "备注")
结束语
至此
springboot集成swagger2
就讲完了,我相信,看完我这两篇文章之后的朋友,你们就能很熟练的在java代码中使用swagger了。
因为目前前后端分离
比较流行,所以写一个好的swagger接口文档是很有必要的
,这样就会减少前后端因为一些接口表述不清楚,导致的后端开发人员来回和前端人员交流沟通,大大的提高了开发的效率。
swagger的详细注解相关推荐
- spring boot集成swagger,自定义注解,拦截器,xss过滤,异步调用,定时任务案例...
本文介绍spring boot集成swagger,自定义注解,拦截器,xss过滤,异步调用,定时任务案例 集成swagger--对于做前后端分离的项目,后端只需要提供接口访问,swagger提供了接口 ...
- cad lisp 背景遮罩_给文字批量添加边界偏移因子为1.1(或其他值)的背景遮罩的源程序(有详细注解)...
本帖最后由 作者 于 2007-11-6 9:06:55 编辑 CAD2005以后版本中就有了背景遮罩功能,但其默认值为1.5多数情况下不太合适 在Autodesk官方网站技术支持知识库查询,其中关于 ...
- Word Maze单词迷宫C语言解法(详细注解)
Word Maze单词迷宫C语言解法(详细注解) 题目描述 C语言代码 DFS算法 题目描述 Word Maze 是一个网络小游戏,你需要找到以字母标注的食物,但要求以给定单词字母的顺序吃掉.假设给定 ...
- JAVA实现导出mysql表结构到Word详细注解版
JAVA实现导出mysql表结构到Word详细注解版 转自https://blog.csdn.net/weixin_42041153/article/details/109739073 本文在原文中一 ...
- Matlab实现Kmeans算法(每行代码标注详细注解)
本文主要为了完成平日作业,并进一步加深对算法的理解.也希望对来访的读者有所帮助. 目录 一.什么是Kmeans算法 二.Kmeans算法的意义 三.Kmeans算法代码解析 1.关键概念 2.大致思路 ...
- linux下最简单多线程单文件socks5代理proxy服务器程序(仅一个c文件,带详细注解)
2020.9.11 网上看的都比较复杂,GITHUB找了一个多线程的相对简单的MicroSocks项目,花了几周时间(没办法,菜鸟一个)改了一下,改成单文件,测试OK. /* wxl_socks5_p ...
- Matlab实现DBSCAN算法(每行代码标注详细注解)
本文主要为了完成平日作业,并进一步加深对算法的理解.也希望对来访的读者有所帮助. 目录 一.什么是DBSCAN算法 二.DBSCAN算法的意义 三.DBSCAN算法代码解析 1.关键概念 2.大致思路 ...
- swagger 修改dto注解_Swagger介绍及使用
Swagger介绍及使用 导语: 相信无论是前端还是后端开发,都或多或少地被接口文档折磨过.前端经常抱怨后端给的接口文档与实际情况不一致.后端又觉得编写及维护接口文档会耗费不少精力,经常来不及更新.其 ...
- swagger ui.html 路径,Swagger UI 详细讲解
本文章描述的是Swagger3.0的内容,与Swagger2.0内容有较大差别.接口描述在3.0中通过Swagger规范(一个JSON文件)来描述,Swagger2.0是通过在接口中提供一系列注解来描 ...
- Swagger 2——@ApiOperation注解、@ApiModel注解、@ApiImplicitParams注解、@ApiImplicitParam注解无效解决方案
问题描述 Spring MVC REST API使用springfox-swagger2.swagger一切都可以正常工作,但是我的问题是我无法在我的swagger文档中添加其他信息. @RestCo ...
最新文章
- 二叉树学习笔记之树的旋转
- leetcode 64. 最小路径和
- ue如何使用php文件,UltraEdit使用设置
- oracle使用存储过程做铺底数据
- 150929.js过完
- Visual Studio Code 中文下载
- pip 删除安装包_Python中PIP的快速指南
- 华为交换机静态路由配置案例_快速了解配置三层交换机策略路由配置
- 用VB如读取内存地址
- 使用springMVC提供的CommonsMultipartResolver文件解析器,实现文件轻松上传
- 43个实例xHTML+CSS(DIV+CSS)网页及导航布局教程
- Django合并多个查询结果
- TCP的三次握手和四次挥手(超详解)
- Vue的生命周期函数和beforeRouteEnter()/beforeRouteLeave()的函数
- Android数字时钟神一般的实现——TextClock
- 修改html倒计时,利用自定义HTML小工具实现倒计时
- Nginx的HTTP健康检测
- 贪心算法——国王游戏(洛谷P1080)
- 服务器装虚拟声卡,虚拟声卡,教您怎么安装虚拟声卡
- Codeforces Round 444 div2 D Ratings and Reality Shows (双指针)