相关内容 地址
Swagger官方文档 swagger.io/docs/specif…
Swagger常用注解 blog.csdn.net/weixin_4252…
Swagger2常用注解 blog.csdn.net/weixin_4252…
Swagger3常用注解 blog.csdn.net/weixin_4252…

Swagger-注解:

作用范围 API 使用位置
协议集描述 @Api 用于controller类上
对象属性 @ApiModelProperty 用在出入参数对象的字段上
协议描述 @ApiOperation 用在controller的方法上
Response集 @ApiResponses 用在controller的方法上
Response @ApiResponse 用在 @ApiResponses里边
非对象参数集 @ApiImplicitParams 用在controller的方法上
非对象参数描述 @ApiImplicitParam 用在@ApiImplicitParams的方法里边
校验绑定的参数 @Valiated 用在controller的方法上
描述返回对象的意义 @ApiModel 用在返回对象类上

api 标记,用在类上,说明该类的作用。可以标记一个 Controller 类做为 Swagger 文档资源,使用方式

Controller 注解并列使用。 属性配置:

Controller 控制器

tags 一定要写,不然swagger扫描显示的是类名

属性名称 备注
value url的路径值
tags 如果设置这个值、value的值会被覆盖
description 对api资源的描述
basePath 基本路径可以不配置
position 如果配置多个Api 想改变显示的顺序位置
produces For example, "application/json, application/xml"
consumes For example, "application/json, application/xml"
protocols Possible values: http, https, ws, wss.
authorizations 高级特性认证时配置
hidden 配置为true 将在文档中隐藏

@ApiOperation

ApiOperation 标记,用在方法上,说明方法的作用,每一个 url 资源的定义,使用方式:

@ApiOperation("获取用户信息")

Controller中的方法并列使用,属性配置:

属性名称备注
valueurl的路径值
tags如果设置这个值、value的值会被覆盖
description对api资源的描述
basePath基本路径可以不配置
position如果配置多个Api 想改变显示的顺序位置
producesFor example, "application/json, application/xml"
consumesFor example, "application/json, application/xml"
protocolsPossible values: http, https, ws, wss.
authorizations高级特性认证时配置
hidden配置为true将在文档中隐藏
response返回的对象
responseContainer这些对象是有效的 "List", "Set" or "Map".,其他无效
httpMethod"GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS" and "PATCH"
codehttp的状态码 默认 200
extensions扩展属性

@ApiParam

ApiParam标记,请求属性,使用方式:

public TableDataInfo list(@ApiParam(value = "查询用户列表", required = true)User user)

与Controller中的方法并列使用,属性配置:

属性名称备注
name属性名称
value属性值
defaultValue默认属性值
allowableValues可以不配置
required是否属性必填
access不过多描述
allowMultiple默认为false
hidden隐藏该属性
example举例子

@ApiResponse

ApiResponse标记,响应配置,使用方式:

@ApiResponse(code = 400, message = "查询用户失败")

Controller中的方法并列使用,属性配置:

属性名称备注
codehttp的状态码
message描述
response默认响应类 Void
reference参考ApiOperation中配置
responseHeaders参考 ResponseHeader 属性配置说明
responseContainer参考ApiOperation中配置

@ApiResponses

ApiResponses标记,响应集配置,使用方式:

@ApiResponses({ @ApiResponse(code = 400, message = "无效的用户") })

Controller中的方法并列使用,属性配置:

@ResponseHeader

ResponseHeader标记,响应头设置,使用方法

@ResponseHeader(name="head",description="响应头设计")

Controller中的方法并列使用,属性配置:

属性名称备注
name响应头名称
description描述
response默认响应类 void
responseContainer参考ApiOperation中配置
@RestController
@RequestMapping("/msg/im")
@Api(tags = "消息-IM")
public class IMController {
    @ApiOperation("生成用户签名")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "userId", value = "用户ID", required = true, dataType = "String")
    @GetMapping("/{userId}")
    public R<String> test(@PathVariable("userId") @ApiParam(value = "用户ID", required = true) String userId) {
        return R.ok(IMTencentUtil.genUserSig(userId));

VO 返回对象

其中@Null、@NotNull。。等与@Valiated 配合使用

限制说明
@Null限制只能为null
@NotNull限制必须不为null
@AssertFalse限制必须为false
@AssertTrue限制必须为true
@DecimalMax(value)限制必须为一个不大于指定值的数字
@DecimalMin(value)限制必须为一个不小于指定值的数字
@Digits(integer,fraction)限制必须为一个小数,且整数部分的位数不能超过integer,小数部分的位数不能超过fraction
@Future限制必须是一个将来的日期
@Max(value)限制必须为一个不大于指定值的数字
@Min(value)限制必须为一个不小于指定值的数字
@Past限制必须是一个过去的日期
@Pattern(value)限制必须符合指定的正则表达式
@Size(max,min)限制字符长度必须在min到max之间
@Past验证注解的元素值(日期类型)比当前时间早
@NotEmpty验证注解的元素值不为null且不为空(字符串长度不为0、集合大小不为0)
@NotBlank验证注解的元素值不为空(不为null、去除首位空格后长度为0),不同于@NotEmpty,@NotBlank只应用于字符串且在比较时会去除字符串的空格
@Email验证注解的元素值是Email,也可以通过正则表达式和flag指定自定义的email格式

@ApiModel

用在返回对象类上

属性名称备注
value默认 为模型提供一个替代名称
description描述
referencey指定对相应类型定义的引用,覆盖指定的任何其他元数据

@ApiModelProperty

用在返回对象的属性上

属性名称备注
value默认 字段说明
name重写属性名字
dataType重写属性类型
required是否必填
example举例说明
hidden配置为true将在文档中隐藏
@ApiModel("testVo")
public class MsgPageVO
    /** 消息ID */
    @ApiModelProperty("消息ID")
    private Long msgId;

@Api(tags = "")写,不然swagger扫描显示的是类名

持续更新中。。。。

分类:
后端
标签: