微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将openapi.yaml规范公开到其余的Spring Boot

如何解决如何将openapi.yaml规范公开到其余的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 Spec开始,文件名就可以是您想要的任何文件。

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

然后,文件openapi.yaml应该位于:src / main / resources / static不需要其他配置。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。