2017-02-10 208 views
0

我有一個spring引導1.5.1RELEASE應用程序,我試圖使用Swagger。我加了依賴性:Spring Boot和Swagger

compile group: 'io.springfox', name: 'springfox-swagger2', version: '2.5.0' 
compile group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.5.0'compile('org.springframework.boot:spring-boot-devtools') 
compile("org.springframework.boot:spring-boot-starter-web:1.5.1RELEASE) 

然後A /配置類:

@Configuration 
@EnableSwagger2 
public class SwaggerConfig {  
    @Bean 
    public Docket api() {  
     return new Docket(DocumentationType.SWAGGER_2).select().apis(RequestHandlerSelectors.any()) 
         .paths(PathSelectors.any()).build();   
    }  

    private ApiInfo apiInfo() { 
     return new ApiInfoBuilder() 
         .title("My API Documentation ") 
         .description("Swagger API Documentation provided for your viewing pleasure") 
         .version("1.0") 
         .build(); 
    } 
} 

我有一個GET端點

@Api(value = "/words", description = "Words API", produces = "application/json") 
@RestController 
@RequestMapping("/words") 
public class WordsController { 

@ApiOperation(value = "getAllWords", nickname = "getAllWords", 
       response = ResponseEntity.class, httpMethod = "GET") 
@ApiResponses(value = { 
       @ApiResponse(code = 200, message = "Success", response = ResponseEntity.class), 
       @ApiResponse(code = 500, message = "Failure") 
       }) 
@RequestMapping(method = RequestMethod.GET) 
@ResponseBody 
    public ResponseEntity getAllWords() { 
...} 

但是,當我在http://localhost:3000/swagger-ui.html訪問我的API(我有我服務器配置爲在端口3000上運行我只能看到綠色的招牌吧 enter image description here

我建立這一關幾個教程,但我不明白爲什麼我的文檔揚鞭沒有被呈現

回答

0

似乎它的一個問題,在您的配置類,試試下面招搖配置類

import static com.google.common.base.Predicates.or; 
import static springfox.documentation.builders.PathSelectors.regex; 
import com.google.common.base.Predicate; 

import springfox.documentation.builders.ApiInfoBuilder; 
import springfox.documentation.service.ApiInfo; 
import springfox.documentation.spi.DocumentationType; 
import springfox.documentation.spring.web.plugins.Docket; 
import springfox.documentation.swagger2.annotations.EnableSwagger2; 

/** 
* Sample Swgger config. 
* 
* @author Eranga 
*/ 
@Configuration 
@EnableSwagger2 
public class MySwaggerConfig { 

    /** 
    * Grouping only words api end points. 
    * 
    * @return the docket 
    */ 
    @Bean 
    public Docket myApi() { 
     return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().paths(myApiPath()).build(); 
    } 

    /** 
    * Filtering only media activity api end points. 
    * 
    * @return the predicate 
    */ 
    private Predicate<String> myApiPath() { 
     return or(regex("//words.*")); 
    } 

    /** 
    * Api info. 
    * 
    * @return the api info 
    */ 
    private ApiInfo apiInfo() { 
     return new ApiInfoBuilder().title("My API title") 
       .description(
         "my Api desc") 
       .termsOfServiceUrl("http://erangakodikara.blogspot.com/").contact("Eranga") 
       .license("Apache License Version 2.0") 
       .licenseUrl("https://github.com/springfox/springfox/blob/master/LICENSE").version("2.0").build(); 
    } 
} 
+0

我認爲我通過將我的SwaggerConfig移動到我的主類中來修復它,所以出於某種原因,這個@Configuration沒有被拾取 – sonoerin