2017-02-10 238 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