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. Lesson12——NumPy 字符串函数之 Part1:字符串操作函数

    NumPy 教程目录 1 NumPy 字符串函数 以下函数用于对 dtype 为 numpy.string_ 或 numpy.unicode_ 的数组执行向量化字符串操作. 它们基于 Python 内 ...

  2. SQL 在数据库中查找拥有此列名的所有表

    SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME='Column' #"Column"为要查询 ...

  3. Solution -「多校联训」行列式

    \(\mathcal{Description}\)   Link.   给定 \(x,\{d_i\}_{i=1}^n,\{p_i\}_{i=2}^n,\{b_i\}_{i=2}^n,\{c_i\}_{ ...

  4. Solution -「CF 494C」Helping People

    \(\mathcal{Description}\)   Link.   给定序列 \(\{a_n\}\) 和 \(m\) 个操作,第 \(i\) 个操作有 \(p_i\) 的概率将 \([l_i,r_ ...

  5. Solution -「JOISC 2019」「LOJ #3036」指定城市

    \(\mathcal{Description}\)   Link.   给定一棵含 \(n\) 个结点的树,双向边权不相同.\(q\) 次询问,每次询问在树上标记 \(e\) 个点,标记的价值为所有趋 ...

  6. 《深度探索C++对象模型》第二章 | 构造函数语意学

    默认构造函数的构建操作 默认构造函数在需要的时候被编译器合成出来.这里"在需要的时候"指的是编译器需要的时候. 带有默认构造函数的成员对象 如果一个类没有任何构造函数,但是它包含一 ...

  7. Spring MVC参数绑定(如何接收请求参数及返回参数)

    在SpringMVC interceptor案例实践中遇到了获取jsp表单传递参数失败的问题,怎么的解决的呢?下面详细介绍. 先讲述下https://www.cnblogs.com/ilovebath ...

  8. kali linux 安装lanmp遇到的问题

    安装LANMP步骤(需要ROOT权限)2020版本以上的Linux kali需要百度参考修改权限得文章 root@kali:~# wget http://dl.wdlinux.cn/files/lan ...

  9. 【C# 基础概念】静态常量和动态常量的区别

    C# 静态常量和动态常量的区别 C#中有两种常量类型分别为readonly(运行时常量)与const(编译时常量),readonly是变量的常量,const是字面量的常量本文将就这两种类型的不同特性进 ...

  10. 爬虫之爬取豆瓣top250电影排行榜及爬取斗图啦表情包解读及爬虫知识点补充

    今日内容概要 如何将爬取的数据直接导入Excel表格 #如何通过Python代码操作Excel表格 #前戏 import requests import time from openpyxl impo ...