Java @Schema和@ApiModel等注解的联系浅析
作者:mythangelboy
引言
我在看公司之前的文档,发现了@schema注解,不太了解,所以查询了一些资料,把我的见解记录下:
开始的时候,没查到太多信息,后来查到了,原来就是用过的@APImodel注解,一个是swagger2常用的注解,一个是swagger3常用的注解。
swagger2常用的5个注解:
最常用的5个注解 @Api:修饰整个类,描述Controller的作用 @ApiOperation:描述一个类的一个方法,或者说一个接口 @ApiParam:单个参数描述 @ApiModel:用对象来接收参数 @ApiProperty:用对象接收参数时,描述对象的一个字段 其它若干 @ApiResponse:HTTP响应其中1个描述 @ApiResponses:HTTP响应整体描述 @ApiClass @ApiError @ApiErrors @ApiParamImplicit @ApiParamsImplicit
用 swagger 3 注释替换 swagger 2 注释
(它已经包含在springdoc-openapi-ui
依赖项中)。swagger 3 注释的包是io.swagger.v3.oas.annotations
依赖项:
swagger3只需要一个依赖即可
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-boot-starter --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version> </dependency>
swagger2到swagger3的变化规则:
@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,加油
总结
到此这篇关于Java @Schema和@ApiModel等注解联系的文章就介绍到这了,更多相关@Schema和@ApiModel注解内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!