首页 > 解决方案 > 如何使用 Spring Boot 在 OpenAPI UI 中显示 Json

问题描述

我正在尝试使用 openAPI 3.0 实现集中式招摇,但我面临以下问题:

  1. 我能够从所有微服务中获取所有 openApi json 并添加 concurrentHaspMap。

serviceDescriptions = new ConcurrentHashMap<String, String>(); serviceDescriptions.put(serviceName, serviceDescription);

在 serviceDescriptions 我有所有 OpenAPI Json。

  1. 如何在 OpenAPI UI 中显示这个 Json?请帮我在 OpenApi UI 中显示。

标签: spring-bootswagger-uiopenapispringdoc-openapi-ui

解决方案


这是正确的配置:

springdoc.api-docs.enabled=false

使用此设置,所有 springdoc-openapi 自动配置 bean 都被禁用。

然后你必须启用最小的 bean 配置:

import org.springdoc.core.SpringDocConfigProperties
import org.springdoc.core.SpringDocConfiguration
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration

@Configuration
class OpenAPIConfiguration {
    @Bean
    fun springDocConfiguration(): SpringDocConfiguration? {
        return SpringDocConfiguration()
    }

    @Bean
    fun springDocConfigProperties(): SpringDocConfigProperties? {
        return SpringDocConfigProperties()
    }
}

然后配置自定义 UI yaml 文件的路径。

#(or the path of json on in your case)
springdoc.swagger-ui.url=/api-docs.yaml 

就这样 :)


推荐阅读