J'essaie d'intégrer ma version Spring Boot 2.0.1.RELEASE
avec Swagger .
D'après ce blog post , il semblait facile de simplement ajouter deux dépendances Maven et tout devrait fonctionner.
J'ai donc ajouté les dépendances suivantes au pom:
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.8.0</version>
</dependency>
Et créé le haricot SwaggerConfig
:
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
Docket docket = new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
return docket;
}
}
Et dans le fichier de propriétés, je me suis retrouvé avec ces 3 entrées lors des tentatives pour le faire fonctionner:
spring.application.name=cat-service
management.server.servlet.context-path=/cat-service
server.servlet.contextPath=/cat-service
Mais à la fin, lors de l'accès
http://localhost:8080/cat-service/api/v2/api-docs
ou la page de l'interface utilisateur à
http://localhost:8080/cat-service/swagger-ui.html
Je reçois une erreur page not found
.
J'ai trouvé ce problème dans la page swagger github et cette question dans stackoverflow mais je n'ai pas pu modifier mon erreur 404
.
J'ai pu le faire fonctionner avec la version de démarrage de Spring, la version 2.0.4.RELEASE
et cet article de blog :
J'ai ajouté ces dépendances:
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
Et ce fichier de configuration:
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
public class SpringFoxConfig {
@Bean
public Docket apiDocket() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
}
}
Et ça a fonctionné.
Il est devenu travail pour moi après avoir supprimé @EnableWebMvc