Статьи

Как настроить Swagger для создания Restful API Doc для вашего веб-приложения Spring Boot

«Любой дурак может написать код, понятный компьютеру. Хорошие программисты пишут код, понятный людям ».
— Мартин Фаулер

Что такое Swagger?

Swagger — это спецификация и полная реализация инфраструктуры для описания, создания, использования и визуализации веб-сервисов RESTful. Цель Swagger — позволить клиентским системам и системам документации обновляться с той же скоростью, что и сервер. Документация по методам, параметрам и моделям тесно интегрирована в код сервера, что позволяет API-интерфейсам всегда оставаться синхронизированными.

Чем полезен Swagger?

Платформа Swagger одновременно решает проблемы с сервером, клиентом и документацией / песочницей.

Благодаря декларативной спецификации ресурсов Swagger клиенты могут понимать и использовать сервисы, не зная о реализации сервера или о доступе к коду сервера. Инфраструктура пользовательского интерфейса Swagger позволяет как разработчикам, так и сторонним разработчикам взаимодействовать с API в пользовательском интерфейсе песочницы, который дает четкое представление о том, как API реагирует на параметры и параметры.

Сваггер радостно говорит как на JSON, так и на XML, с дополнительными форматами в работе.

Как включить Swagger в вашем веб-приложении Spring Boot?

Шаг 1: Включите зависимость Swagger Spring MVC в Maven

<dependency>
    <groupId>com.mangofactory</groupId>
    <artifactId>swagger-springmvc</artifactId>
    <version>0.8.8</version>
</dependency>

Шаг 2. Создание конфигурации Java Swagger

  • Используйте  @EnableSwagger аннотацию.
  • Autowire  SpringSwaggerConfig.
  • Определите один или несколько экземпляров SwaggerSpringMvcPlugin, используя @Bean аннотацию springs  .
@Configuration
@EnableSwagger
public class SwaggerConfig {
private SpringSwaggerConfig springSwaggerConfig;
@Autowired
public void setSpringSwaggerConfig(SpringSwaggerConfig springSwaggerConfig) {
this.springSwaggerConfig = springSwaggerConfig;
}
@Bean
// Don't forget the @Bean annotation
public SwaggerSpringMvcPlugin customImplementation() {
return new SwaggerSpringMvcPlugin(this.springSwaggerConfig).apiInfo(
apiInfo()).includePatterns("/saurzcode/.*");
}
private ApiInfo apiInfo() {
ApiInfo apiInfo = new ApiInfo("SaurzCode API", "API for Saurzcode",
"Saurzcode API terms of service", "mail2saurzcode@gmail.com",
"Saurzcode API Licence Type", "Saurzcode API License URL");
return apiInfo;
}
}

Шаг 3. Создайте пользовательский интерфейс Swagger с помощью WebJar

<repository>
 <id>oss-jfrog-artifactory</id>
 <name>oss-jfrog-artifactory-releases</name>
 <url>http://oss.jfrog.org/artifactory/oss-release-local</url>
 </repository>
<dependency>
 <groupId>org.ajar</groupId>
 <artifactId>swagger-spring-mvc-ui</artifactId>
 <version>0.1</version>
 <scope>compile</scope>
 </dependency>

Проверьте конфигурацию API по адресу —  http: // localhost: 8080 / api-docs.

Документацию по API Swagger можно найти по адресу   http: // localhost: 8080 / index.html.

Swagger API Doc

Полный проект доступен на GitHub.

https://github.com/saurzcode/saurzcode-swagger-spring/

Рекомендации :


Первоначально Shared at: 

http://saurzcode.in/2014/08/19/how-to-configure-swagger-to-generate-restful-api-doc-for-your-spring-boot-web-application/