SpringBoot集成Swagger2.x版本
一、pom文件导入依赖
<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>
二、编写SwaggerConfig文件
注:要注意@Configuration注解,不写@Configuration注解Spring就管理不到该对象
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.service.ApiInfo; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; @EnableSwagger2 @Configuration @ConditionalOnProperty(prefix = "swagger", value = {"enable"}, havingValue = "true") public class SwaggerConfig { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com"))//扫描com路径下的api文档 .paths(PathSelectors.any())//路径判断 .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("demo")//标题 .description("demoAPI接口文档")//描述 .version("0.0.0")//版本号 .build(); }使用注解
Swagger常用注解
- @Api
- 功能:描述controller类
- 注解位置:类
- 常用注解属性
- tags = "" // 描述此controller类
- @ApiOperation
- 功能:描述一个方法或者一个API接口
- 注解位置:方法
- 常用注解属性
- value = "" // 描述方法
- notes = "" // 描述方法详细信息
- @ApiImplicitParam
- 功能:描述方法或接口参数
- 注解位置: 方法
- 注解属性
- name = "" // 方法或接口的形参, 注意要与方法的参数名称相同
- value = "" // 对参数的描述
- paramType = "" // 参数传递方式,此属性的可选值 ["header", "query", "path", "body", "form"]
- header,使用@RequestHeader获取的参数
- query,使用@RequestParam获取的参数,常用于GET请求
- path,使用@PathVariable获取的参数
- body,使用@RequestBody获取的参数,常用于POST请求,对象参数
- dataType = "" // 参数类型,例如 string, int, ArrayList, POJO类
- @ApiImplicitParams
- 功能:汇集多个参数
- 注解位置: 方法
- 注解属性
- @ApiImplicitParam组成的列表
欢迎关注作者公众号