Swwager 注解使用说明
2. @Api
属性名称 | 属性类型 | 属性默认值 | 属性描述 |
---|---|---|---|
value | String | “” | 描述,无实际意义。 |
tags | String[] | “” | 分组 |
basePath | String | “” | 基本路径 |
protocols | String | int | 请求协议 |
authorizations | Authorization[] | @Authorization(value = “”) | 高级特性认证时的配置 |
hidden | boolean | false | 是否隐藏(不显示,默认为false) |
2.2 属性value、tags二者的区别
value属性作用在类和作用在方法上都用于描述;
tags属性作用在类和作用在方法上都用于分组,但分组的效果区别很大:
tags作用在类上时,会对全局的方法分组,即根据tags属性值复制多份,此时方法上的tags值无效,方法上tags配或不配效果都一样。
tags作用在方法上时,会根据当前类的所有方法的tags值做分组,粒度更细。
2.3 使用方法
3. @ApiOperation
用在方法上,对请求方法进行描述。
3.1 注解的属性
属性名称 | 属性类型 | 属性默认值 | 属性描述 |
---|---|---|---|
value | String | “” | 描述 |
notes | String | “” | 详细描述 |
tags | String[] | “” | 分组 |
response | Class<?> | Void.class | 响应参数类型 |
responseReference | String[] | “” | 指定对响应类型的引用,本地/远程引用,并将覆盖任何其它指定的response()类 |
httpMethod | String | “” | http请求方式,如:GET、HEAD、POST、PUT、DELETE、OPTION、SPATCH |
hidden | boolean | false | 是否隐藏(不显示)默认为false |
code | int | 200 | http的状态码 |
extensions | Extension[] | @Extension(properties = @ExtensionProperty(name = “”, value = “”) | 扩展属性 |
3.2 使用方法
@ApiOperation(value = "test1接口",notes = "test1接口详细描述")
public ApiResult<String> test1(@RequestParam String aa, @RequestParam String bb, @RequestParam String cc) {
}
常用在方法上,对请求参数列表进行描述。 其中的value属性可包含多个@ApiImplicitParam,对每个参加进行具体的描述。
5. @ApiImplicitParams
用在方法上,对请求参数进行描述。当需要对多个参数进行描述时,作为@ApiImplicitParams的属性使用。
5.1 注解的属性
属性名称 | 属性类型 | 属性默认值 | 属性描述 |
---|---|---|---|
value | String | “” | 描述 |
name | String | “” | 参数说明 |
defaultValue | String | “” | 默认值 |
allowableValues | String | “” | 参数允许值 |
required | boolean | false | 是否必填,默认false |
access | String | “” | 参数过滤 |
allowMultiple | boolean | false | 参数是否可以通过多次出现来接受多个值,默认不允许 |
dataType | String | “” | 参数的数据类型,可以使类名或原始数据类型 |
dataTypeClass | Class<?> | Void.class | 参数的数据类型,如果提供则覆盖 dataType |
paramType | String | “” | 参数类型,有效值为 path, query, body, header, form |
example | String | “” | 非body类型的参数示例 |
examples | Example | @Example(value = @ExampleProperty(mediaType = “”, value = “”)) | body类型的参数示例 |
type | String | “” | 添加覆盖检测到的类型的功能 |
format | String | “” | 添加提供自定义format格式的功能 |
readOnly | boolean | false | 添加被指定为只读的功能 |
5.2 使用方法
6. @ApiParam
用在方法、参数、类的字段上,对请求参数进行描述。
6.1 注解的属性
属性名称 | 属性类型 | 属性默认值 | 属性描述 |
---|---|---|---|
value | String | “” | 描述 |
name | String | “” | 参数说明 |
defaultValue | String | “” | 默认值 |
allowableValues | String | “” | 参数允许值 |
required | boolean | false | 是否必填,默认false |
access | String | “” | 参数过滤 |
allowMultiple | boolean | false | 参数是否可以通过多次出现来接受多个值,默认不允许 |
dataType | String | “” | 参数的数据类型,可以使类名或原始数据类型 |
dataTypeClass | Class<?> | Void.class | 参数的数据类型,如果提供则覆盖 dataType |
paramType | String | “” | 参数类型,有效值为 path, query, body, header, form |
example | String | “” | 非body类型的参数示例 |
examples | Example | @Example(value = @ExampleProperty(mediaType = “”, value = “”)) | body类型的参数示例 |
type | String | “” | 添加覆盖检测到的类型的功能 |
format | String | “” | 添加提供自定义format格式的功能 |
readOnly | boolean | false | 添加被指定为只读的功能 |
6.2 使用方法
@GetMapping("test2")
public ApiResult<TestRes> test2(@ApiParam(value = "aa的说明") @RequestParam String aa, @ApiParam(value = "bb的说明") @RequestParam String bb) {
return ApiUtil.success(new TestRes());
}
8 @ApiModelProperty
用在类上,对请求、响应类,实体类进行描述。
8.1 注解的属性
属性名称 | 属性类型 | 属性默认值 | 属性描述 |
---|---|---|---|
value | String | “” | 属性说明 |
name | String | “” | 覆盖属性的名称 |
allowableValues | String | “” | 参数允许值 |
access | String | “” | 过滤属性 |
required | boolean | false | 是否必填,默认false |
dataType | String | “” | 参数的数据类型,可以使类名或原始数据类型 |
hidden | boolean | false | 是否隐藏 |
readOnly | String | “” | 添加被指定为只读的功能 |
reference | String | “” | 指定对应类型定义的引用,覆盖指定的任何其他元数据 |
allowEmptyValue | boolean | false | 允许传空值 |
example | String | “” | 属性的示例值 |
8.2 使用方法
注意:java和scala在@ApiModelProperty注解上的使用的区别
9. @ApiResponses
用在方法、类上,对响应状态码列表进行描述。
9.1 注解的属性
属性名称 | 属性类型 | 属性默认值 | 属性描述 |
---|---|---|---|
value | ApiResponse[] | “” | 响应状态码列表的描述 |
用在方法上,对响应状态码进行描述。一般作为@ApiResponses的属性使用。
10.1 注解的属性
@GetMapping("test2")
@ApiOperation(value = "test2接口",notes = "test2接口详细描述")
@ApiResponse(code = 200, message = "请求成功", responseHeaders = {@ResponseHeader(name = "header1", description = "header1的描述",response = String.class)}),
@ApiResponse(code = 401, message = "没有权限"),
@ApiResponse(code = 403, message = "禁止访问")
})
public ApiResult<TestRes> test2(@ApiParam(value = "aa的说明") @RequestParam String aa, @ApiParam(value = "bb的说明") @RequestParam String bb) {
}