2017-04-05 8 views
0

J'ai essayé générer des api via fanfaronnades sans démarrage du printemps mais il ne fonctionne pascréer api doc avec fanfaronnades

mon contrôleur de fanfaronnades classe

@Configuration 
@EnableSwagger2 
@Controller 
@RequestMapping("/srs/api") 
public class SwaggerConfig extends WebMvcConfigurerAdapter { 
    @Bean 
    @RequestMapping(value = "/v2/api-docs", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) 
    public Docket swaggerconf() { 
     return new Docket(DocumentationType.SWAGGER_2) 
       .useDefaultResponseMessages(false) 
       .apiInfo(apiInfo("2.0")) 
       .select() 
       .apis(RequestHandlerSelectors.any()) 
       .paths(PathSelectors.any()) 
       .build(); 
    } 
    private ApiInfo apiInfo(String version) { 
     return new ApiInfoBuilder() 
       .title("API") 
       .description("REST API") 
       .version(version) 
       .build(); 
    } 
} 

url est mappée

Mapped "{[/srs/api/v2/api-docs],methods=[GET],produces=[application/json]}" onto public springfox.documentation.spring.web.plugins.Docket com.my.applications.srs.rest.controllers.SwaggerConfig.swaggerconf() 

Mais la documentation n'est pas créée Ai-je raté quelque chose? peut-être que je peux utiliser SpringBoot sur le serveur?

+0

-vous aussi sur le dépend 'springfox-fanfaronnades-ui' dépendance? –

+0

@NicolasLabrot sure J'ai ajouté toutes les dépendances nécessaires –

+0

Vos logs contiennent 'Mapped '{[/ swagger-resources/configuration/ui]}" '? –

Répondre

1

Pourriez-vous essayer de mettre à jour la configuration de votre fanfaronnades à:

@Configuration 
@EnableSwagger2 
public class SwaggerConfig { 
    @Bean 
    public Docket swaggerconf() { 
     return new Docket(DocumentationType.SWAGGER_2) 
       .useDefaultResponseMessages(false) 
       .apiInfo(apiInfo("2.0")) 
       .select() 
       .apis(RequestHandlerSelectors.any()) 
       .paths(PathSelectors.any()) 
       .build(); 
    } 
    private ApiInfo apiInfo(String version) { 
     return new ApiInfoBuilder() 
       .title("API") 
       .description("REST API") 
       .version(version) 
       .build(); 
    } 
} 

ensuite importer (si pas déjà fait) @Import cette configuration dans votre Application comme la classe.

Lorsque vous bootstrap votre application, vous devriez avoir un journal comme

Mapped "{[/v2/api-docs],methods=[GET],produces=[application/json || application/hal+json]}" onto public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest) 

Et si vous ouvrez l'url /v2/api-docs vous devriez obtenir un JSON

+0

Merci pour les conseils je runned avec votre config, mais dans les journaux je ne peux pas trouver Mapper/v2/api- docs :( –

+0

Pourriez-vous définir un point d'arrêt sur la ligne 'return new Docket (DocumentationType.SWAGGER_2)' et exécuter votre application dans le débogage? Votre débogueur s'arrête-t-il? –

+0

non, le débogueur ne s'arrête pas ici –