当前位置: 代码迷 >> 综合 >> Swagger中的注解对应的springdoc-openapi-ui中的注解
  详细解决方案

Swagger中的注解对应的springdoc-openapi-ui中的注解

热度:77   发布时间:2023-11-26 23:16:52.0

swagger是我们开发过程中非常常用的一个api 文档维护组织吗,为了前后端更好的交互,swagger早已经成为了大家的首选api 文档框架。但随着spring的发展与强大,spring也出了自己的api框架,但实用惯了swagger的用户,在切换过来后发现就不太会用了,其实springdoc本身已经集成并兼容了swagger,但对应的注解有所变化。下面我们就来看看swagger的注解在springdoc中的对应关系。

springdoc的maven依赖

   <dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-ui</artifactId><version>1.4.3</version></dependency>

springfox和springdoc注解映射关系

@Api -> @Tag
@ApiIgnore -> @Parameter(hidden = true) or @Operation(hidden = true) or @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")

application.yml配置文件参考:

spring:application:name: springdoc-openapi
server:port: 8080# ===== SpringDoc配置 =====#
springdoc:swagger-ui:# 自定义的文档界面访问路径。默认访问路径是/swagger-ui.htmlpath: /springdoc/docs.html# 字符串类型,一共三个值来控制操作和标记的默认展开设置。它可以是“list”(仅展开标记)、“full”(展开标记和操作)或“none”(不展开任何内容)。docExpansion: none# 布尔值。控制“试用”请求的请求持续时间(毫秒)的显示。displayRequestDuration: true# 布尔值。控制供应商扩展(x-)字段和操作、参数和架构值的显示。showExtensions: true# 布尔值。控制参数的扩展名(pattern、maxLength、minLength、maximum、minminimum)字段和值的显示。showCommonExtensions: true# 布尔值。禁用swagger用户界面默认petstore url。(从v1.4.1开始提供)。disable-swagger-default-url: trueapi-docs:# enabled the /v3/api-docs endpointenabled: true# 自定义的文档api元数据访问路径。默认访问路径是/v3/api-docspath: /springdoc/api-docs# 布尔值。在@Schema(名称name、标题title和说明description,三个属性)上启用属性解析程序。resolve-schema-properties: true# 布尔值。实现OpenApi规范的打印。writer-with-default-pretty-printer: true# ===== swagger配置 =====#
swagger:application-name: ${spring.application.name}application-version: 1.0application-description: springdoc openapi整合Demotry-host: http://localhost:${server.port}
  相关解决方案