Хочу настроить 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 { ... }
Виртуальный выделенный сервер (VDS) становится отличным выбором
Метод - устанавливает длину строкиНо вот такой результат я получаю если у меня указано в методе значение больше чем в самом конструкторе
Кто может поделитесь простым примером, как вы отправляете информативное сообщение, в случае обработки запроса ajax, когда нужно вернуть ошибку