我在看公司之前的文档,发现了@schema注解,不太了解,所以查询了一些资料,把我的见解记录下:
开始的时候,没查到太多信息,后来查到了,原来就是用过的@APImodel注解,一个是swagger2常用的注解,一个是swagger3常用的注解。
swagger2常用的5个注解:
最常用的5个注解 @Api:修饰整个类,描述Controller的作用 @ApiOperation:描述一个类的一个方法,或者说一个接口 @ApiParam:单个参数描述 @ApiModel:用对象来接收参数 @ApiProperty:用对象接收参数时,描述对象的一个字段 其它若干 @ApiResponse:HTTP响应其中1个描述 @ApiResponses:HTTP响应整体描述 @ApiClass @ApiError @ApiErrors @ApiParamImplicit @ApiParamsImplicit
(它已经包含在springdoc-openapi-ui依赖项中)。swagger 3 注释的包是io.swagger.v3.oas.annotations
swagger3只需要一个依赖即可
io.springfox springfox-boot-starter3.0.0
@Api → @Tag
@ApiIgnore→@Parameter(hidden = true)或@Operation(hidden = true)或@Hidden
@ApiImplicitParam → @Parameter
@ApiImplicitParams → @Parameters
@ApiModel → @Schema
@ApiModelProperty(hidden = true) → @Schema(accessMode = READ_ONLY)
@ApiModelProperty → @Schema
@ApiOperation(value = "foo", notes = "bar") → @Operation(summary = "foo", description = "bar")
@ApiParam → @Parameter
@ApiResponse(code = 404, message = "foo") → @ApiResponse(responseCode = "404", description = "foo")
之后我问了GPT4:
今天又学到一个新注解@schema,加油