• Springboot Swagger2注解使用


    原文出处http://www.yund.tech/zdetail.html?type=1&id=049e22cf81459f81e69da527f3d4e06b   

    作者:jstarseven


      

    swagger2 注解整体说明

     1 @Api:用在请求的类上,表示对类的说明
     2     tags="说明该类的作用,可以在UI界面上看到的注解"
     3     value="该参数没什么意义,在UI界面上也看到,所以不需要配置"
     4 
     5 @ApiOperation:用在请求的方法上,说明方法的用途、作用
     6     value="说明方法的用途、作用"
     7     notes="方法的备注说明"
     8 
     9 @ApiImplicitParams:用在请求的方法上,表示一组参数说明
    10     @ApiImplicitParam:用在@ApiImplicitParams注解中,指定一个请求参数的各个方面
    11         name:参数名
    12         value:参数的汉字说明、解释
    13         required:参数是否必须传
    14         paramType:参数放在哪个地方
    15             · header --> 请求参数的获取:@RequestHeader
    16             · query --> 请求参数的获取:@RequestParam
    17             · path(用于restful接口)--> 请求参数的获取:@PathVariable
    18             · body(不常用)
    19             · form(不常用)    
    20         dataType:参数类型,默认String,其它值dataType="Integer"       
    21         defaultValue:参数的默认值
    22 
    23 @ApiResponses:用在请求的方法上,表示一组响应
    24     @ApiResponse:用在@ApiResponses中,一般用于表达一个错误的响应信息
    25         code:数字,例如400
    26         message:信息,例如"请求参数没填好"
    27         response:抛出异常的类
    28 
    29 @ApiModel:用于响应类上,表示一个返回响应数据的信息
    30             (这种一般用在post创建的时候,使用@RequestBody这样的场景,
    31             请求参数无法使用@ApiImplicitParam注解进行描述的时候)
    32     @ApiModelProperty:用在属性上,描述响应类的属性

    1. @Api:用在请求的类上,说明该类的作用

    1 @Api:用在请求的类上,说明该类的作用
    2     tags="说明该类的作用"
    3     value="该参数没什么意义,所以不需要配置"

    示例: 

    1   @Api(tags="APP用户注册Controller")

    2. @ApiOperation:用在请求的方法上,说明方法的作用

    1 @ApiOperation:"用在请求的方法上,说明方法的作用"
    2     value="说明方法的作用"
    3     notes="方法的备注说明"

    示例:  

    1  @ApiOperation(value="用户注册",notes="手机号、密码都是必输项,年龄随边填,但必须是数字")

    3. @ApiImplicitParams:用在请求的方法上,包含一组参数说明

     1 @ApiImplicitParams:用在请求的方法上,包含一组参数说明
     2     @ApiImplicitParam:用在 @ApiImplicitParams 注解中,指定一个请求参数的配置信息       
     3         name:参数名
     4         value:参数的汉字说明、解释
     5         required:参数是否必须传
     6         paramType:参数放在哪个地方
     7             · header --> 请求参数的获取:@RequestHeader
     8             · query --> 请求参数的获取:@RequestParam
     9             · path(用于restful接口)--> 请求参数的获取:@PathVariable
    10             · body(不常用)
    11             · form(不常用)    
    12         dataType:参数类型,默认String,其它值dataType="Integer"       
    13         defaultValue:参数的默认值

    示例:

    @ApiImplicitParams({
        @ApiImplicitParam(name="mobile",value="手机号",required=true,paramType="form"),
        @ApiImplicitParam(name="password",value="密码",required=true,paramType="form"),
        @ApiImplicitParam(name="age",value="年龄",required=true,paramType="form",dataType="Integer")
    })

    4. @ApiResponses:用于请求的方法上,表示一组响应

    1 @ApiResponses:用于请求的方法上,表示一组响应
    2     @ApiResponse:用在@ApiResponses中,一般用于表达一个错误的响应信息
    3         code:数字,例如400
    4         message:信息,例如"请求参数没填好"
    5         response:抛出异常的类

    示例:

    1 @ApiOperation(value = "select1请求",notes = "多个参数,多种的查询参数类型")
    2 @ApiResponses({
    3     @ApiResponse(code=400,message="请求参数没填好"),
    4     @ApiResponse(code=404,message="请求路径没有或页面跳转路径不对")
    5 })

    5. @ApiModel:用于响应类上,表示一个返回响应数据的信息

    1 @ApiModel:用于响应类上,表示一个返回响应数据的信息
    2             (这种一般用在post创建的时候,使用@RequestBody这样的场景,
    3             请求参数无法使用@ApiImplicitParam注解进行描述的时候)
    4     @ApiModelProperty:用在属性上,描述响应类的属性

    示例:

     1 import io.swagger.annotations.ApiModel;
     2 import io.swagger.annotations.ApiModelProperty;
     3 
     4 import java.io.Serializable;
     5 
     6 @ApiModel(description= "返回响应数据")
     7 public class RestMessage implements Serializable{
     8 
     9     @ApiModelProperty(value = "是否成功")
    10     private boolean success=true;
    11     @ApiModelProperty(value = "返回对象")
    12     private Object data;
    13     @ApiModelProperty(value = "错误编号")
    14     private Integer errCode;
    15     @ApiModelProperty(value = "错误信息")
    16     private String message;
    17 
    18     /* getter/setter */
    19 }

     -END-

  • 相关阅读:
    Linux目录树与磁盘分区
    私有服务器外网访问zerotier解决方案
    ubuntu防火墙相关
    “ssh协议”简单使用
    Ubuntu软件安装小记
    怎么说服领导,能让我用DDD架构肝项目?
    金3银4面试前,把自己弄成卷王!
    开发 IDEA Plugin 引入探针,基于字节码插桩获取执行SQL
    《重学Java设计模式》作者开始录视频了!
    《Mybatis 手撸专栏》第1章:开篇介绍,我要带你撸 Mybatis 啦!
  • 原文地址:https://www.cnblogs.com/jstarseven/p/11458919.html
Copyright © 2020-2023  润新知