【Swagger】Swagger 注解学习
Swagger 3 已经发布了一段时间了,但是这里我们主要学习目前更主流的 Swagger 2。
Swagger 2 整体注解
- Swagger 2 请求类注解,主要用于 Controller 类上
- Swagger 2 请求方法注解,主要用于 Controller 类对应的方法上
- Swagger 2 对象类注解,主要用于 JavaBean 上
1、Swagger 2 请求类注解
- @Api 标识 Swagger 识别的类
- @Api 放在 @Controller 注解并列的请求类上
- 核心参数包含 value、tags、description
@Api():用在请求的类上,表示对类的说明,也代表了这个类是 swagger2 的资源,参数:
- tags:接口说明,可以在页面中显示。可以配置多个,当配置多个的时候,在页面中会显示多个接口的信息。
- value - 字段说明
- description - 注释说明这个类
2、Swagger 2 请求方法注解
- @ApiOperation 标识 Swagger 识别的方法
- @ApiImplicitParam 标识方法的参数的说明
- @ApiResponse 标识方法返回值的说明
@ApiOperation 注解常用属性:
- value:对该操作进行简单的描述,尽量控制在120字符以内。
- notes:对操作的详细描述。
- httpMethod:指定操作使用的HTTP方法类型,可选值 “GET”、“HEAD”、“POST”、“PUT”、“DELETE”、“OPTIONS”和“PATCH”。
- tags:用来给操作打标签,Swagger UI 将在操作列表下面展示 tag 列表,每个 tag 下面展示拥有该 tag 的操作列表。实例代码:
@ApiImplicitParam 注解常用属性:
- name:参数名
- value:参数的汉字说明、解释
- required:参数是否必须传
- paramType:参数放在哪个地方
- dataType:参数类型,默认String,其它值dataType=“Integer”
- defaultValue:参数的默认值
@ApiResponse 注解常用属性:
- code:数字,例如400
- message:信息,例如"请求参数不正确"
- response:抛出异常的类
3、Swagger 2 对象类注解
- @ApiModel 标识 Swagger 识别的 JavaBean
- @ApiModel 放在 JavaBean 的类定义上
- @ApiModelProperty 标识 JavaBean 属性
@ApiModel 注解常用属性:
- value:为模型提供备用名称
- description:提供详细的类描述
- parent:为模型提供父类以允许描述继承关系
- discriminatory:支持模型继承和多态,使用鉴别器的字段的名称,可以断言需要使用哪个子类型
- subTypes:从此模型继承的子类型数组
- reference:指定对应类型定义的引用,覆盖指定的任何其他元数据
@ApiModelProperty 注解常用属性:
- value:属性简要说明
- name:运行覆盖属性的名称。重写属性名称
- allowableValues:作用为限制此参数存储的长度
- access:作用为允许从API文档中过滤属性
- notes:作用为该字段的注释说明
- dataType:作用为参数的数据类型
- required:作用为指定参数是否可以为空,默认为false
- position:作用为允许显式地对模型中的属性排序
- hidden:作用为是否允许模型属性隐藏在Swagger模型定义中,默认为false
- example:作用为属性的示例值
- readOnly:作用为是否允许将属性指定为只读,默认为false
- reference:作用为指定对对应类型定义的引用,重写指定的任何其他数据名称
- allowEmptyValue:作用为是否允许传递空值,默认为false
4、总结
【Swagger】Swagger 注解学习相关推荐
- SpringBoot集成Swagger2、Swagger2和Swagger3的区别Swagger的注解学习
Swagger的介绍 Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新. 随着前后端 ...
- Spring Boot 1.5.8集成Swagger2 + YApi —— Swagger常用注解说明
前言 受新型冠状病毒的影响,在家像猪一样不是睡就是吃,闲着就学着用下Swagger和YApi,特将这几天的学习成果写成了这系列的文章,希望能对大家有所帮助.武汉加油,中国加油! Spring Boot ...
- 简谈swagger的注解说明
swagger通过注解表明该接口会生成文档,包括接口名.请求方法.参数.返回信息的等等.• @Api:修饰整个类,描述Controller的作用• @ApiOperation:描述一个类的一个方法,或 ...
- swagger 返回json字符串_[Swagger] Swagger Codegen 高效开发客户端对接服务端代码
[Swagger] Swagger Codegen 高效开发客户端对接服务端代码 @TOC 手机用户请横屏获取最佳阅读体验,REFERENCES中是本文参考的链接,如需要链接和更多资源,可以关注其他博 ...
- Spring 注解学习手札(七) 补遗——@ResponseBody,@RequestBody,@PathVariable(转)
最近需要做些接口服务,服务协议定为JSON,为了整合在Spring中,一开始确实费了很大的劲,经朋友提醒才发现,SpringMVC已经强悍到如此地步,佩服! 相关参考: Spring 注解学习手札( ...
- @data注解的作用_Java中注解学习系列教程-2
在上一篇文章中,我们讲解了:Java中注解的定义.JDK中内置注解.第三方注解. 本文是注解系列教程中的第二篇.来看看今天主要内容: 1:注解的分类 2:元注解说明 3:自定义注解声明 一:注解的 ...
- java自定义注解学习笔记
注解学习笔记之自定义注解 @Target({1,2,3,4,5,6,7}) 1.ElementType.CONSTRUCTOR:用于描述构造器 2.ElementType.FIELD:用于描述域 3. ...
- @excel 注解_Java中注解学习系列教程-3
本文是<Java中注解学习系列教程>第三篇文章 在前两篇中我们学习了注解的定义.JDK内置注解.注解分类及自定义注解的写法. 本文咱们将学习: 1:自定义注解一些说明 2:自定义注解怎 ...
- Java注解学习一:注解术语
2019独角兽企业重金招聘Python工程师标准>>> 一.元注解 @Target:表示该注解可以用于什么地方.可选的ElementType参数包括: TYPE:类,接口(包括注解类 ...
- excel导出多重表头utils_Java中注解学习系列教程-4 使用自定义注解实现excel导出...
本文是<Java中注解学习系列教程>第四篇文章也是小案例文章. 自定义注解小案例是:使用自定义注解实现excel导出. Excel导出分析: 有表头.数据值.一般第一行是表头,从第二行 ...
最新文章
- AI 重塑 IT的 5 种方式
- torch_geometric 笔记:global_mean_pool
- [vue] 分析下vue项目本地开发完成后部署到服务器后报404是什么原因呢?
- 阿里开源首个移动AI项目,淘宝同款推理引擎
- ad13批量安装元件库_常用的Altium Designer AD09 AD14 AD18元件库 原理图库(543个)+PCB封装库(509个)...
- AXE模式隐私号基于语音流分析的用户接听识别方案
- 计算机毕业论文java毕业设计成品源码网站基于SSM实现的仓库管理系统
- 编译龙芯PMON流程
- Java下载excel文件并且添加水印效果
- 逃离996的年轻人却难逃租房的“坑”
- 【机器学习】使用 IQR、Z 分数、LOF 和 DBSCAN 检测异常值
- Python实时获取steam游戏数据
- 上班,老实人和精明人的区别是什么?
- 【图像超分辨率重建】——SAN论文精读笔记
- 告别第三方检测,教你用Windows自带工具检测!
- 数据分析之学术前沿分析 任务1:论文数据统计
- 短视频如何做好数据分析 掌握数据分析技巧
- 广工Anyview数据结构2021-C语言版--第一章
- 通过创建script标签来引入外部js
- MySQL数据库应用与管理
热门文章
- 深度学习与计算机视觉教程(5) | 卷积神经网络(CV通关指南·完结)
- php实现分时线图,分时图均价线公式?看懂了便可掌握股票的买卖点
- 9种实用的将3.3V输出连接到5V输入的方法
- VirtualXposed 免ROOT使用Xposed模块
- 3dmax卸载工具_3Dmax软件无法安装?3Dmax软件正确卸载方法,重装无忧
- iPadOS、iOS13降级iOS12.3.1方法
- 如何基于TwinCAT3实现伺服电机控制(一)
- 生产制造MES系统源码 采购管理模块解析
- ATX电源的工作原理
- 第2章 MCS-51 单片机硬件结构