【问题标题】:Issue in rendering Swagger OpenAPI v3 UI + Springboot project渲染 Swagger OpenAPI v3 UI + Springboot 项目的问题
【发布时间】:2021-10-08 20:07:09
【问题描述】:

我收到错误 - "请指明有效的 Swagger 或 OpenAPI 版本字段。支持的版本字段为 swagger:"2.0" 和与 openapi:3.0.n 匹配的版本字段(例如,openapi:3.0.0)。" 当我将生成的 json 从 /api-docs 粘贴到 editor.swagger.io 时。 我有一些观察。

  1. localhost:8080/v3/api-docs/ 产生 - "{\"openapi\":\"3.0.1\", "\info\":{ ---------------- 此 json 在 editor.swagger.io 中给出了上述错误。

  2. 关于手动删除初始双引号和转义字符,即 {"openapi":"3.0.1", "info":{ ---------------- 错误消失,即 UI 呈现没有任何问题。

  3. 我的项目springboot版本是2.2.13.RELEASE,springdoc-openapi-ui版本是1.5.8,jackson-databind版本是2.10.5.1

  4. OpenAPI 配置类 -

@Configuration
public class Config1 {
@Bean
public GroupedOpenApi publicApi() {
    return GroupedOpenApi.builder()
            .group("user")
            .pathsToMatch("/v1/**")
            .build();
}

@Bean
public OpenAPI customOpenAPI() {
    return new OpenAPI()
        .info(new Info().title("title1").description("test").version("1.0.0"));
}

如果我需要任何进一步的信息,请告诉我。有关该问题的任何意见都会有所帮助。谢谢。

【问题讨论】:

  • 请发布您的 Springdoc 配置和任何可能与 /api-docs/ 内容的生成和服务方式相关的代码。
  • @Helen 我已将 Springdoc 配置添加为问题中的第 4 点。根据我的理解 /api-docs/ 内容默认是从 springdoc-openapi-ui 包生成的。如果您需要任何进一步的输入,请告诉我。谢谢。

标签: swagger swagger-ui openapi springdoc-openapi-ui springdoc-openui


【解决方案1】:

您可以像这样在customOpenAPIpublicApi 中使用.version("v0.0.1")

@Bean
  public OpenAPI springShopOpenAPI() {
      return new OpenAPI()
              .version("v0.0.1"));
  }

有关更多详细信息,请参阅文档https://springdoc.org/#migrating-from-springfox

【讨论】:

  • 版本只是一个标签,怎么解决解析问题?
猜你喜欢
  • 1970-01-01
  • 2020-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多