Настройка Swagger в приложении на Spring Boot

168
20 мая 2019, 04:10

Хочу настроить 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, но от сваггера нет никакого отклика. Как его настроить?

Answer 1

Для версии 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 { ... }

READ ALSO
Квадратики в Java метод setLength()

Квадратики в Java метод setLength()

Метод - устанавливает длину строкиНо вот такой результат я получаю если у меня указано в методе значение больше чем в самом конструкторе

174
Обработк ошибок на jquery-ajax + JAX-RS

Обработк ошибок на jquery-ajax + JAX-RS

Кто может поделитесь простым примером, как вы отправляете информативное сообщение, в случае обработки запроса ajax, когда нужно вернуть ошибку

138