问题描述
我已经在外部安装了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不需要其他配置。