簡體   English   中英

如何將 openapi.yaml 規范公開到 rest spring boot 中

[英]how to expose an openapi.yaml specification into rest spring boot

我已經在外部安裝了 swagger-ui,我只是想將該 swagger-ui(開源)實例從 openapi.yaml 連接到 localhost:8000/doc/api (.yaml)。 有什么想法嗎? PS:我嘗試使用

 @Bean
public OpenAPI customOpenAPI() {
    return new OpenAPI()
            .components(new Components().addSecuritySchemes("basicScheme",
                    new SecurityScheme().type(SecurityScheme.Type.HTTP).scheme("basic")))
            .info(new Info().title("SpringShop API").version("0.1")
                    .license(new License().name("Apache 2.0").url("http://springdoc.org")))
            .externalDocs(new ExternalDocumentation()
                    .url("restapi/doc/openapi.yaml"));
}

    @Bean
    public SpringDocConfiguration springDocConfiguration(){
        return new SpringDocConfiguration();
    }
    @Bean
    public SpringDocConfigProperties springDocConfigProperties() {
        return new SpringDocConfigProperties();
    }

但我沒有發現任何有用的東西。 謝謝。

    application.properties:
    springdoc.api-docs.enabled=false
springdoc.swagger-ui.url=openapi.yaml
springdoc.swagger-ui.path=/doc/api/ui.html

dependecies:
<dependency>
        <groupId>org.springdoc</groupId>
        <artifactId>springdoc-openapi-ui</artifactId>
        <version>1.4.4</version>
    </dependency>

第一個配置:外部​​ OPENAPI 定義

屬性 springdoc.swagger-ui.urls.*, 適合配置外部 url ( http://myhoost.com/v3/api-docs )

例如,如果您想在一個應用程序中聚合其他服務的所有端點。 不要忘記還需要啟用 CORS。

第二個配置:帶有靜態文件的內部 OPENAPI 定義

如果您想使用包含您的 openAPI 定義的靜態文件,那么只需聲明:文件名可以是您想要的任何內容,從您的聲明與 yaml 或 json OpenAPI 規范一致的那一刻起。

springdoc.swagger-ui.url=/openapi.yaml

然后文件openapi.yaml,應該位於:src/main/resources/static 不需要額外配置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM