#java #spring-boot #swagger #openapi #springfox
#java #весенняя загрузка #swagger #openapi #springfox
Вопрос:
Я попытался использовать этот подход
@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;
};
}
но, похоже, это не работает, файл не извлекается из каталога ресурсов.
Есть предложения?
Комментарии:
1. И это работает для
"/swagger.json"
?
Ответ №1:
Это должно сработать, см., Например: https://songrgg.github.io/operation/host-swagger-documentation-with-yaml-json-files /.
Скорее всего, вы swagger.yaml
находитесь в другом каталоге, чем ваша конфигурация SwaggerConfiguration, поэтому проверьте /swagger.yaml
, не должно ли быть <relative-path>/swagger.yaml
Ответ №2:
Наконец-то найден ответ. Моя проблема заключалась в том, что у меня была аннотация @EnableWebMvc в одном из классов конфигурации. Аннотация нарушает всю автоматическую настройку spring-boot для статических ресурсов (стандартные пути к классам, в которых все статические ресурсы выбираются автоматически).