swagger整合
作用:swagger用来生成接口文档
整合步骤
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.9.2</version> </dependency>
<dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-starter</artifactId> <version>2.0.3</version> </dependency>
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| @Configuration @EnableSwagger2 public class SwaggerConfig {
public Docket createRestApi(){ return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.simplemw")) .paths(PathSelectors.any()) .build(); }
private ApiInfo apiInfo(){ return new ApiInfoBuilder() .title("这是标题") .description("这是描述......") .version("1.0") .contact(new Contact("simplemw", "http://localhost:8080", "xxx@qq.com")) .build(); } }
|
- 然后就是在controller类和pojo类中加上各种api注解
controller中
1
| @Api(value="这是controller类的描述",tags = "这是controller类的描述")
|
1 2
| @ApiOperation("这是方法描述") @ApiImplicitParam(name = "map",value = "这是对方法入参的描述")
|
若为文件导出在 @ApiOperation注解中可以加上 produces = “application/octet-stream” 如
1
| @ApiOperation("这是方法描述",produces = "application/octet-stream")
|
pojo中
1
| @ApiModel(value = "这是pojo类的描述", description = "这是pojo类的描述")
|
1
| @ApiModelProperty(value = "模板名称")
|
配置完成后 访问路径 http://localhost:8080/swagger-ui.html#/
增强ui的访问页面 http://localhost:8080/doc.html#/
运行时,swagger会自动将api注解配置到网页上