Хочу настроить swagger для документирования REST-сервиса на spring boot. Следую гайду на этом сайте
Сначала я добавил зависимость:
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
Потом добавил файл конфигурации спринга:
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
}
}
Написано, что этой конфигурации достаточно для интеграции сваггера в существующий проект. Автор пишет, что проверить работоспособность сваггера можно по ссылке http://localhost:8080/spring-security-rest/api/v2/api-docs, по которой возвращается json. Но на порту 8080 у меня висит RethinkDB, а мое приложение работает на порту 8086. Один из моих эндпоинтов имеет вид http://localhost:8086/api/invoice.
Я пробовал разные комбинации адресов, например, http://localhost::8086/api/api-docs, но от сваггера нет никакого отклика. Как его настроить?
Для версии 2.9.2 у меня заработала проверка на http://localhost:8888/v2/api-docs (только порт поменяйте на ваш - 8086). Сам UI находится по адресу http://localhost:8888/swagger-ui.html (вам опять порт поменять на 8086).
Если у вас используется своя реализация интерфейса ResponseBodyAdvice, то в аннотации к нему нужно указать пакет, на который этот совет действует, иначе Swagger не будет работать.
@ControllerAdvice("your.package") public class ResponseBodyAdviceImpl implements ResponseBodyAdvice { ... }
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости