У меня есть приложение, которое использует Spring MVC для обработки вызовов REST, контроллеры являются контроллерами REST и аннотированы @RestController
, а контроллер и его методы аннотированы @RequestMapping
.
Я пытаюсь добавить Swagger для создания документации для существующих служб REST. Я пытаюсь добавить его для одного в качестве теста, чтобы посмотреть, как это выглядит. Я добавил библиотеки springfox
и ui
, добавил классы конфигурации swagger и определения bean-компонентов в файл spring context xml
. Я могу нажать на ссылку swagger-ui.html
, но она вообще не создает никакой документации. Из-за скудности документации я понятия не имею, что я делаю неправильно или неправильно настроен, а поиск в Google по этой проблеме не дает ничего полезного.
Может ли кто-нибудь предложить несколько советов о том, что я мог сделать неправильно, или, альтернативно, лучшую документацию, чем я нашел до сих пор?
Я добавил springfox-swagger2 и связанную запись ui в мой файл pom, добавил это: в мой файл spring вместе с двумя новыми определениями bean для этих классов:
@Configuration
@EnableSwagger2
public class ApplicationSwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
}
}
@EnableWebMvc
public class SwaggerConfiguration extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("swagger-ui.html")
.addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/");
}
}
Я пробовал определить beans во втором классе в моем весеннем xml, но это тоже не сработало. Я в тупике. Я сделал то, что сказано в документации, и это не работает. Любые идеи?