Knife4j 注解详谈
Controller层添加注解
@Api:用于类;表示标识这个类是swagger的资源
| 属性名称 | 数据类型 | 默认值 | 说明 |
| value | String | "" | 字段说明 |
| tags | String[] | "" | 标签说明 |
| description | String | "" | 详情描述 |
| basePath |
String | "" | 基本路径可以不配置 |
| position | int | "" | 如果配置多个Api 想改变显示的顺序位置 |
| produces | String | "" | 提供者 (For example, "application/json, application/xml") |
| consumes | String | "" | 消费者(For example, "application/json, application/xml") |
| protocols | String | "" | 协议(Possible values: http, https, ws, wss.) |
| authorizations | Authorization[] | "" | 高级特性认证时配置 |
| hidden | boolean | "" | 配置为true 将在文档中隐藏 |
使用实例:
注解加载在controller类上
常用模型:

1 @Api(tags = "HELLO CONTROLLER 测试功能接口")
2 @RestController
3 public class HelloController {
4
5 }
@ApiResponses:在 Rest 接口上使用,用作返回值的描述
参数
| 属性名称 | 数据类型 | 默认值 | 说明 |
| value | ApiResponse[] | "" | 访问对象 |
ApiResponse参数
| 属性名称 | 数据类型 | 默认值 | 说明 |
| code | String | "" | 响应的HTTP状态码 |
| message | String | "" | 响应的信息内容 |
| response | Class<?> | "" | 用于描述消息有效负载的可选响应类,对应于响应消息对象的 schema 字段 |
| reference | String | "" | 指定对响应类型的引用,指定的应用可以使本地引用,也可以是远程引用,将按原样使用,并将覆盖任何指定的response()类 |
| responseHeaders | ResponseHeader[] | "" | 声明包装响应的容器,有效值为List或Set,任何其他值都将被覆盖 |
| responseContainer | String | "" | 声明响应的容器,有效值为List,Set,Map,任何其他值都将被忽略 |
| examples | Example | "" | 例子 |
使用实例:
注解加载在字段上
常用模型:

1 @ApiResponses(value = {
2 @ApiResponse(code = 200, message = "接口返回成功状态"),
3 @ApiResponse(code = 500, message = "接口返回未知错误,请联系开发人员调试")
4 })
5 @PostMapping("hello")
6 public Results<UserVO> hello(@RequestBody UserVO userVO){
7
8 Results<UserVO> results = new Results<>(200,"SUCCESS", userVO);
9 return results;
10 }
@ApiOperation:用在方法上,说明方法的作用,每一个url资源的定义
参数
| 属性名称 | 数据类型 | 默认值 | 说明 |
| value | String | "" | url的路径值 |
| notes | String | "" | 文本说明 |
| tags | String[] | "" | 如果设置这个值、value的值会被覆盖 |
| response | Class<?> | "" | 返回的对象 |
| responseContainer | String | "" | 声明响应的容器,有效值为List,Set,Map,任何其他值都将被忽略 |
| responseReference | String | "" | 声明包装响应的容器,有效值为List或Set,任何其他值都将被覆盖 |
| httpMethod | String | "" | "GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS" and "PATCH" |
| position | int | "" | 如果配置多个Api 想改变显示的顺序位置 |
| nickname | String | "" | 昵称 |
| produces | String | "" | 提供者 (For example, "application/json, application/xml") |
| consumes | String | "" | 消费者(For example, "application/json, application/xml") |
| protocols | String | "" | 协议(Possible values: http, https, ws, wss.) |
| authorizations | Authorization[] | "" | 高级特性认证时配置 |
| hidden | boolean | "" | 隐藏 |
| responseHeaders | ResponseHeader[] | "" | 声明包装响应的容器,有效值为List或Set,任何其他值都将被覆盖 |
| code | String | "" | http的状态码 默认 200 |
| extensions | Extension[] | "" | 扩展属性 |
| ignoreJsonView | boolean | "" | 是否忽略显示 |
使用实例:
注解加载在字段上
常用模型:

1 @ApiOperation(value = "Hello 测试接口", notes = "访问此接口,返回hello语句,测试接口")
2 @PostMapping("hello")
3 public Results<UserVO> hello(@RequestBody UserVO userVO){
4
5 Results<UserVO> results = new Results<>(200,"SUCCESS", userVO);
6 return results;
7 }
@PathVariable:是获取get方式,url后面参数,进行参数绑定(单个参数或两个以内参数使用)
参数
| 属性名称 | 数据类型 | 默认值 | 说明 |
| value | String | "" | url的路径值 |
| name | String | "" | 重写属性名字 |
| required | String | "" | 是否必填 |
使用实例:
注解加载在字段上
常用模型:

1 @ApiResponses(value = {
2 @ApiResponse(code = 200, message = "接口返回成功状态"),
3 @ApiResponse(code = 500, message = "接口返回未知错误,请联系开发人员调试")
4 })
5 @ApiOperation(value = "获取用户信息", notes = "访问此接口,返回用户信息")
6 @PostMapping("/getUser/{id}")
7 public String getUser(@PathVariable String id) throws InterruptedException {
8 // 业务...
9 return "";
10 }
@RequestBody :在当前对象获取整个http请求的body里面的所有数据(两个以上参数封装成对象使用)
参数
| 属性名称 | 数据类型 | 默认值 | 说明 |
| required | String | "" | 是否必填 |
使用实例:
注解加载在传入参数对象上
常用模型:

1 @ApiResponses(value = {
2 @ApiResponse(code = 200, message = "接口返回成功状态"),
3 @ApiResponse(code = 500, message = "接口返回未知错误,请联系开发人员调试")
4 })
5 @ApiOperation(value = "Hello 测试接口", notes = "访问此接口,返回hello语句,测试接口")
6 @PostMapping("hello")
7 public Results<UserVO> hello(@RequestBody UserVO userVO){
8 Results<UserVO> results = new Results<>(200,"SUCCESS", userVO);
9 return results;
10 }
Knife4j 注解详谈的更多相关文章
- 2022IDEA配置启动lilishop的swagger展示
目录 一.概述 二.基本构建 三.Git 导入编译器 四.模块描述浅析 五.配置文档 1.注释配置文件 2.添加配置 3.暂时关闭权限 4.浏览器测试访问 5.其他需要修改模块 六.参考文献 结语 一 ...
- Knife4j添加lombok及注解初探
一.POM添加 在pom文件里添加包 1 <!-- 添加Lombok插件--> 2 <dependency> 3 <groupId>org.projectlombo ...
- 详谈springboot启动类的@SpringBootApplication注解
前几天我们学会了如何创建springboot项目今天我们说一下他是怎么运行的为什么不需要我们再去编写繁重的配置文件的 @SpringBootApplication 首先我们看一下这个注解,他是用来标注 ...
- Android 编译时注解解析框架
2.注解 说道注解,竟然还有各种分类,得,这记不住,我们从注解的作用来反推其分类,帮助大家记忆,然后举例强化大家的记忆,话说注解的作用: 1.标记一些信息,这么说可能太抽象,那么我说,你见过@Over ...
- Android 打造编译时注解解析框架 这只是一个开始
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/43452969 ,本文出自:[张鸿洋的博客] 1.概述 记得很久以前,写过几篇博客 ...
- SpringBoot整合knife4j
官网说明及用法: 简介 swagger-bootstrap-ui是springfox-swagger的增强UI实现,为Java开发者在使用Swagger的时候,能拥有一份简洁.强大的接口文档体验 核心 ...
- 给Swagger换一套皮肤 Knife4j集成记录
Swagger有一套经典的UI,但是并不是很好用,之前有看到Knife4j,界面没管.功能完善,因此尝试集成. demo参考示例地址:knife4j-spring-boot-demo Knife4j前 ...
- 3、集成springfox-swagger 3.0.0 + 集成knife4j
集成springfox-swagger 3.0.0 + 集成knife4j 1.基本用法 1.1.导入依赖 <!-- web接口 --> <dependency> <gr ...
- 魔改swagger:knife4j的另外一种打开方式
之前公司使用了swagger作为文档管理工具,原生的swagger-ui非常丑,之后就用了开源项目 萧明 / knife4j 的swagger组件进行了swagger渲染,改造之后界面漂亮多了,操作也 ...
随机推荐
- Note/Solution -「洛谷 P6466」分散层叠算法
\(\mathcal{Description}\) Link. 给定 \(m\) 个长度为 \(n\) 的有严格升序且不包含重复元素的序列 \(a_1,a_2,\cdots,a_m\),\(q ...
- Linux CentOS 搭建SVN并用钩子自动实现同步到Web目录
linux安装配置SVN并设置钩子 安装说明 系统环境:CentOS-6.3安装方式:yum install (源码安装容易产生版本兼容的问题)安装软件:系统自动下载SVN软件 检查已安装版本 # ...
- DBLink的使用(从A库使用SQL查询B库的数据)
DBLink的使用 情景:今天我需要从A数据库查询B数据库的数据,进行一些数据比对和联合查询的操作. 所以用到的DBLink,在此记录一下使用流程,希望能够帮助下一个小白,一步到位的解决问题. 一句话 ...
- windows清理用户痕迹
1.日志管理器的基本使用 在这里创建自定义视图是非常重要的 在设置自定义视图不必设置的事件日志选项太多,可以按日志也可以按源进行设置,根据自己的情况来做决定 在cmd下可以使用wevtutil cl ...
- ASP.NET Core 6框架揭秘实例演示[12]:诊断跟踪的进阶用法
一个好的程序员能够在系统出现问题之后马上定位错误的根源并找到正确的解决方案,一个更好的程序员能够根据当前的运行状态预知未来可能发生的问题,并将问题扼杀在摇篮中.诊断跟踪能够帮助我们有效地纠错和排错&l ...
- 2020年最为典型的BI工具有哪些?
现在可视化BI 可以帮助充分利用企业在日常运营中积累的大量数据,帮助企业做出理性的决策,降低风险,减少损失.以下五款我认为是2020年最为典型的BI工具: (1)Tableau Tableau是国外市 ...
- WPF中常用控件(TreeView, ComboBox, DataGrid, ListView)使用MVVM模式绑定的demo
之前几篇关于TreeView的博客中只是贴了源代码,并没有把整个项目上传到github.最近就想着把我常用的几个控件做成一个demo,这样也方便自己以后查看.本人也是WPF新手,但是我并没有打算就往这 ...
- Typora简单使用
Typora介绍 Typora是一款轻量级的Markdown编辑器,它没有采用传统编辑器那样源代码和预览双栏显示的方式,让你所见即所得,能够及时预览.目前Typora在IT领域的人气极高,这也致使原来 ...
- Winform实现客户端的自动更新
话不多说,直接上干货.当然也希望各位前辈多多指导. 自动更新客户端的设计原理图 请花两分钟时间,仔细阅读下面这张图,明白客户端自动升级的原理. 自动更新的效果图 1. ...
- 无法打开备份设备,出现操作系统错误 5(拒绝访问)(sql server备份)
问题:无法打开备份设备 .出现操作系统错误 5(拒绝访问) 原因:你用sqlserver进行备份的时候,必须要是完整的路径,操作sqlserver的和磁盘有关的路径都必须要到文件名这一层. 解决方案: ...