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 注解详谈的更多相关文章

  1. 2022IDEA配置启动lilishop的swagger展示

    目录 一.概述 二.基本构建 三.Git 导入编译器 四.模块描述浅析 五.配置文档 1.注释配置文件 2.添加配置 3.暂时关闭权限 4.浏览器测试访问 5.其他需要修改模块 六.参考文献 结语 一 ...

  2. Knife4j添加lombok及注解初探

    一.POM添加 在pom文件里添加包 1 <!-- 添加Lombok插件--> 2 <dependency> 3 <groupId>org.projectlombo ...

  3. 详谈springboot启动类的@SpringBootApplication注解

    前几天我们学会了如何创建springboot项目今天我们说一下他是怎么运行的为什么不需要我们再去编写繁重的配置文件的 @SpringBootApplication 首先我们看一下这个注解,他是用来标注 ...

  4. Android 编译时注解解析框架

    2.注解 说道注解,竟然还有各种分类,得,这记不住,我们从注解的作用来反推其分类,帮助大家记忆,然后举例强化大家的记忆,话说注解的作用: 1.标记一些信息,这么说可能太抽象,那么我说,你见过@Over ...

  5. Android 打造编译时注解解析框架 这只是一个开始

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/43452969 ,本文出自:[张鸿洋的博客] 1.概述 记得很久以前,写过几篇博客 ...

  6. SpringBoot整合knife4j

    官网说明及用法: 简介 swagger-bootstrap-ui是springfox-swagger的增强UI实现,为Java开发者在使用Swagger的时候,能拥有一份简洁.强大的接口文档体验 核心 ...

  7. 给Swagger换一套皮肤 Knife4j集成记录

    Swagger有一套经典的UI,但是并不是很好用,之前有看到Knife4j,界面没管.功能完善,因此尝试集成. demo参考示例地址:knife4j-spring-boot-demo Knife4j前 ...

  8. 3、集成springfox-swagger 3.0.0 + 集成knife4j

    集成springfox-swagger 3.0.0 + 集成knife4j 1.基本用法 1.1.导入依赖 <!-- web接口 --> <dependency> <gr ...

  9. 魔改swagger:knife4j的另外一种打开方式

    之前公司使用了swagger作为文档管理工具,原生的swagger-ui非常丑,之后就用了开源项目 萧明 / knife4j 的swagger组件进行了swagger渲染,改造之后界面漂亮多了,操作也 ...

随机推荐

  1. 274-基于XC7V690T的3U VPX信号处理板

    一.板卡概述 本板卡系我司自主研发的基于3U VPX导冷架构的信号处理板,适用于高速图像处理,雷达信号处理等.芯片采用工业级设计.该处理板包含1片Xilinx公司的Virtex7系列FPGA-XC7V ...

  2. tip1:学习使用mybatis中使用mysql数据库的基本操作

    1.查看mysql服务是否启动: 2.root用户链接数据库:mysql -u root -p,随后输入正确的密码即可. 3.root用户创建数据库: 4.查看已建数据库:show databases ...

  3. Linux性能优化之磁盘I/O性能指标

    讨论指标之前,得先解决两个概念:文件系统和磁盘I/O栈. 文件系统是什么?文件系统是在磁盘的基础上,提供了一个用来管理文件的树状结构.简言之,文件系统是树状结构,一种数据结构~逻辑上的概念.磁盘大家都 ...

  4. [LeetCode]1431. 拥有最多糖果的孩子

    给你一个数组 candies 和一个整数 extraCandies ,其中 candies[i] 代表第 i 个孩子拥有的糖果数目. 对每一个孩子,检查是否存在一种方案,将额外的 extraCandi ...

  5. windows server2012 r2 .net framework 3.5失败

    拿到手的虚拟机系统是Windows server 2012R2,本想着安装SQlserver2012轻轻松松,结果途中警告未安装.NET Framework 3.5.于是找了个.NET Framewo ...

  6. REACT 使用antd Table 中rowSelection遇到的问题

    首先项目是尚硅谷的后台谷粒平台,在用到antd Table 中的 rowSelection时,出现了一个问题(P87时遇到的问题): 表格中的每一项前面有一个radio单选框可以选中,本来是想利用ro ...

  7. 【C# IO 操作 】开篇 IO命名空间的解析

    图片模板下载 System.IO命名空间类分为:文件.驱动 .目录.路径.流.比特率流的操作 驱动类:比较简单,所以就不区分静态和实例操作类,所有的操作合并在DriverInfo类中 路径类:比较简单 ...

  8. Android studio第一个程序HelloWorld

    今天主要跟着视频设计了第一个安卓项目,了解了大改的目录结构 每天会学习线性布局和相对布局

  9. Spring切换多个配置环境(dev,prod,test等)

    默认有一个application.properties配置文件, 然后在resource目录下新建3个配置文件比如 application-dev.properties application-tes ...

  10. Python:pandas(三)——DataFrame

    官方文档:pandas之DataFrame 1.构造函数 用法 pandas.DataFrame( data=None, index=None, columns=None, dtype=None, ) ...