问题描述
我尝试过使用这种方法
@Primary
@Bean
public SwaggerResourcesProvider swaggerResourcesProvider(InMemorySwaggerResourcesProvider defaultResourcesProvider) {
return () -> {
SwaggerResource wsResource = new SwaggerResource();
wsResource.setName("Documentation");
wsResource.setSwaggerVersion("3.0");
wsResource.setLocation("/swagger.yaml");
List<SwaggerResource> resources = new ArrayList<>(defaultResourcesProvider.get());
resources.add(wsResource);
return resources;
};
}
但是它似乎不起作用,没有从资源目录中提取文件。 有什么建议吗?
解决方法
这应该有效,例如:https://songrgg.github.io/operation/host-swagger-documentation-with-yaml-json-files/。
您很有可能swagger.yaml
位于与SwaggerConfiguration不同的目录中,因此请检查/swagger.yaml
是否不应为<relative-path>/swagger.yaml
终于找到答案了。我的问题是在其中一个配置类上具有@EnableWebMvc注释。 该批注破坏了对静态资源(所有静态资源都会自动提取的标准类路径)的所有spring-boot自动配置。