springboot+swagger
阿新 • • 發佈:2018-08-03
version spa ann require desc 其中 pid quest ignore
一、引入依賴
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.6.1</version>
</dependency>
二、寫配置類
@Configuration
@EnableSwagger2
public class Swagger2 {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.forezp.controller"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("springboot利用swagger構建api文檔")
.description("簡單優雅的restfun風格,http://blog.csdn.net/forezp")
.termsOfServiceUrl("http://blog.csdn.net/forezp")
.version("1.0")
.build();
}
}
通過@Configuration註解,表明它是一個配置類,@EnableSwagger2開啟swagger2。apiINfo()配置一些基本的信息。apis()指定掃描的包會生成文檔。
apis(RequestHandlerSelectors.basePackage("com.forezp.controller")) 此處添加需要添加swagger註解的包,一般是controller包
三、寫生產文檔的註解
swagger通過註解表明該接口會生成文檔,包括接口名、請求方法、參數、返回信息的等等。
- @Api:修飾整個類,描述Controller的作用
- @ApiOperation:描述一個類的一個方法,或者說一個接口
- @ApiParam:單個參數描述
- @ApiModel:用對象來接收參數
- @ApiProperty:用對象接收參數時,描述對象的一個字段
- @ApiResponse:HTTP響應其中1個描述
- @ApiResponses:HTTP響應整體描述
- @ApiIgnore:使用該註解忽略這個API
- @ApiError :發生錯誤返回的信息
- @ApiParamImplicitL:一個請求參數
- @ApiParamsImplicit 多個請求參數
用得較多的為前三個
@ApiOperation(value = "回顯接口")
@RequestMapping(value = "/getInfo", method = RequestMethod.GET)
public Map<String,Object> getInfo(
@ApiParam(value = "庫id", required = true) @RequestParam("libId") Long libId,
@ApiParam(value = "屬性id", required = true) @RequestParam("docId") Long docId,
springboot+swagger