我有一个Spring boot 1.5.1RELEASE应用程序,我正在尝试使用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)
然后是/ config类:
@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上运行)我只得到了绿色的招摇吧
我正在构建几个教程,但我不明白为什么我的Swagger文档没有被呈现
答案 0 :(得分:0)
在配置类中似乎是一个问题,请尝试使用以下swagger配置类
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();
}
}