【问题标题】:Springdoc openapi migration from springfox从 springfox 迁移 springdoc openapi
【发布时间】:2022-12-08 09:08:56
【问题描述】:

我正在将 swagger spring fox 迁移到 spring doc open api。我点击了下面的链接。 https://deepak-shinde.medium.com/migrating-from-springfox-swagger-2-to-springdoc-openapi-3-79a79757b8d1

使用以下版本。

spring_boot_version=    "2.5.5"
springdoc_openapi_version=  "1.6.0"

在下面提到的 gradle 依赖中

implementation "org.springdoc:springdoc-openapi-ui:$springdoc_openapi_version"
implementation "org.springdoc:springdoc-openapi-javadoc:$springdoc_openapi_version"

我定义了休息控制器。

@RestController
@RequestMapping("/v1")
@Slf4j
@Tag(name = "Master",  description = "Master service API")
public class MasterController {

   @Operation(summary = "Get test data",security = {
        @SecurityRequirement(name = MasterConstant.HTTP_AUTH_SECURITY_SCHEME) },   tags = { 
        "Master" } ,description = " This method is used to get test data")
   @PostMapping("/codes")
   public ResponseEntity<MasterCodeResponse> getTestData()

    }

应用程序.properties

springdoc.swagger-ui.path=swagger-ui
springdoc.packages-to-exclude=com.master.persistence.*
springdoc.packages-to-scan=com.master.controller,com.common.controller // here * by default not working as its not listing apis
springdoc.api-docs.resolve-schema-properties=false

当我调用 v3/apidocs - 标签变空。不显示控制器名称或描述。

"openapi":"3.0.1",
   "info":{
      "title":"Test REST API",
      "version":"1.0.0"
   },
   "servers":[
      {
         "url":"http://localhost:8082/master-service/",
         "description":"Generated server url"
      }
   ],
   "security":[
      {
         "bearerAuth":[
            
         ]
      }
   ],
   "tags":[
      {
         
      }
   ],

操作标签的相同方式即将变空。

  "/v1/codes":{
         "post":{
            "tags":[
               null
            ],
            "o

下面的 bean 被定义

@Bean
    public OpenAPI customizeOpenAPI() {
        final String securitySchemeName = "bearerAuth";
        return new OpenAPI().addSecurityItem(new SecurityRequirement().addList(securitySchemeName))
                .components(
                        new Components().addSecuritySchemes(securitySchemeName,
                                new SecurityScheme().name(securitySchemeName).type(SecurityScheme.Type.HTTP)
                                        .scheme("bearer").bearerFormat("JWT")))
                .info(new Info().title("Test REST API").version("1.0.0"));
    }

请让我知道如何在招摇以及 api 文档 yaml 中获取操作和控制器标签的摘要。如果我在这里做错了什么,请提出建议。

【问题讨论】:

    标签: spring-boot springdoc-openapi-ui springdoc-openui


    【解决方案1】:

    标签有一些问题,你可以看到here

    您应该尝试将 springdoc-openapi 至少更新到版本 1.6.7。

    【讨论】:

      猜你喜欢
      • 2023-01-30
      • 2020-04-05
      • 1970-01-01
      • 2020-06-03
      • 2021-03-29
      • 2022-07-28
      • 2021-05-21
      • 2020-10-02
      • 1970-01-01
      相关资源
      最近更新 更多