如何解决如何将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 举报,一经查实,本站将立刻删除。