Swwager 注解使用说明

    2. @Api

    属性名称属性类型属性默认值属性描述
    valueString“”描述,无实际意义。
    tagsString[]“”分组
    basePathString“”基本路径
    protocolsStringint请求协议
    authorizationsAuthorization[]@Authorization(value = “”)高级特性认证时的配置
    hiddenbooleanfalse是否隐藏(不显示,默认为false)

    2.2 属性value、tags二者的区别

    value属性作用在类和作用在方法上都用于描述;

    tags属性作用在类和作用在方法上都用于分组,但分组的效果区别很大:

    tags作用在类上时,会对全局的方法分组,即根据tags属性值复制多份,此时方法上的tags值无效,方法上tags配或不配效果都一样。

    tags作用在方法上时,会根据当前类的所有方法的tags值做分组,粒度更细。

    2.3 使用方法

    3. @ApiOperation

    用在方法上,对请求方法进行描述。

    3.1 注解的属性

    属性名称属性类型属性默认值属性描述
    valueString“”描述
    notesString“”详细描述
    tagsString[]“”分组
    responseClass<?>Void.class响应参数类型
    responseReferenceString[]“”指定对响应类型的引用,本地/远程引用,并将覆盖任何其它指定的response()类
    httpMethodString“”http请求方式,如:GET、HEAD、POST、PUT、DELETE、OPTION、SPATCH
    hiddenbooleanfalse是否隐藏(不显示)默认为false
    codeint200http的状态码
    extensionsExtension[]@Extension(properties = @ExtensionProperty(name = “”, value = “”)扩展属性

    3.2 使用方法

    1. @ApiOperation(value = "test1接口",notes = "test1接口详细描述")
    2. public ApiResult<String> test1(@RequestParam String aa, @RequestParam String bb, @RequestParam String cc) {
    3. }

    常用在方法上,对请求参数列表进行描述。 其中的value属性可包含多个@ApiImplicitParam,对每个参加进行具体的描述。

    5. @ApiImplicitParams

    用在方法上,对请求参数进行描述。当需要对多个参数进行描述时,作为@ApiImplicitParams的属性使用。

    5.1 注解的属性

    属性名称属性类型属性默认值属性描述
    valueString“”描述
    nameString“”参数说明
    defaultValueString“”默认值
    allowableValuesString“”参数允许值
    requiredbooleanfalse是否必填,默认false
    accessString“”参数过滤
    allowMultiplebooleanfalse参数是否可以通过多次出现来接受多个值,默认不允许
    dataTypeString“”参数的数据类型,可以使类名或原始数据类型
    dataTypeClassClass<?>Void.class参数的数据类型,如果提供则覆盖 dataType
    paramTypeString“”参数类型,有效值为 path, query, body, header, form
    exampleString“”非body类型的参数示例
    examplesExample@Example(value = @ExampleProperty(mediaType = “”, value = “”))body类型的参数示例
    typeString“”添加覆盖检测到的类型的功能
    formatString“”添加提供自定义format格式的功能
    readOnlybooleanfalse添加被指定为只读的功能

    5.2 使用方法

    6. @ApiParam

    用在方法、参数、类的字段上,对请求参数进行描述。

    6.1 注解的属性

    属性名称属性类型属性默认值属性描述
    valueString“”描述
    nameString“”参数说明
    defaultValueString“”默认值
    allowableValuesString“”参数允许值
    requiredbooleanfalse是否必填,默认false
    accessString“”参数过滤
    allowMultiplebooleanfalse参数是否可以通过多次出现来接受多个值,默认不允许
    dataTypeString“”参数的数据类型,可以使类名或原始数据类型
    dataTypeClassClass<?>Void.class参数的数据类型,如果提供则覆盖 dataType
    paramTypeString“”参数类型,有效值为 path, query, body, header, form
    exampleString“”非body类型的参数示例
    examplesExample@Example(value = @ExampleProperty(mediaType = “”, value = “”))body类型的参数示例
    typeString“”添加覆盖检测到的类型的功能
    formatString“”添加提供自定义format格式的功能
    readOnlybooleanfalse添加被指定为只读的功能

    6.2 使用方法

    1. @GetMapping("test2")
    2. public ApiResult<TestRes> test2(@ApiParam(value = "aa的说明") @RequestParam String aa, @ApiParam(value = "bb的说明") @RequestParam String bb) {
    3. return ApiUtil.success(new TestRes());
    4. }

    8 @ApiModelProperty

    用在类上,对请求、响应类,实体类进行描述。

    8.1 注解的属性

    属性名称属性类型属性默认值属性描述
    valueString“”属性说明
    nameString“”覆盖属性的名称
    allowableValuesString“”参数允许值
    accessString“”过滤属性
    requiredbooleanfalse是否必填,默认false
    dataTypeString“”参数的数据类型,可以使类名或原始数据类型
    hiddenbooleanfalse是否隐藏
    readOnlyString“”添加被指定为只读的功能
    referenceString“”指定对应类型定义的引用,覆盖指定的任何其他元数据
    allowEmptyValuebooleanfalse允许传空值
    exampleString“”属性的示例值

    8.2 使用方法

    注意:java和scala在@ApiModelProperty注解上的使用的区别

    9. @ApiResponses

    用在方法、类上,对响应状态码列表进行描述。

    9.1 注解的属性

    属性名称属性类型属性默认值属性描述
    valueApiResponse[]“”响应状态码列表的描述

    用在方法上,对响应状态码进行描述。一般作为@ApiResponses的属性使用。

    10.1 注解的属性

    1. @GetMapping("test2")
    2. @ApiOperation(value = "test2接口",notes = "test2接口详细描述")
    3. @ApiResponse(code = 200, message = "请求成功", responseHeaders = {@ResponseHeader(name = "header1", description = "header1的描述",response = String.class)}),
    4. @ApiResponse(code = 401, message = "没有权限"),
    5. @ApiResponse(code = 403, message = "禁止访问")
    6. })
    7. public ApiResult<TestRes> test2(@ApiParam(value = "aa的说明") @RequestParam String aa, @ApiParam(value = "bb的说明") @RequestParam String bb) {
    8. }