1、导入依赖
<!-- Swagger API文档 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
<exclusions>
<exclusion>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
</exclusion>
<exclusion>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId>
<version>1.9.6</version>
</dependency>
<!-- # 增加两个配置解决 NumberFormatException -->
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.5.22</version>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
<version>1.5.22</version>
</dependency>
2、Swagger2Config.java的配置
@Slf4j
@Configuration
@EnableWebMvc
@EnableSwagger2
@ComponentScan(basePackages = "com.ma.controller")
public class Swagger2Config implements WebMvcConfigurer {
@Bean
public Docket controller_api(){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())//接口文档信息
.select() //查找
.apis(RequestHandlerSelectors.basePackage("com.ma.controller")) //生成文档的包
.paths(PathSelectors.any()) //路径
.build() //构建
.groupName("控制类接口"); //组名
}
@Bean
public Docket domain_api(){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.ma.domain"))
.paths(PathSelectors.any())
.build()
.groupName("实体类");
}
@Bean
public Docket untiy_api(){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.ma.untiy"))
.paths(PathSelectors.any())
.build()
.groupName("工具类");
}
public ApiInfo apiInfo(){
return new ApiInfoBuilder()
.title("第一个接口文档")//接口文档标题
.version("v-1")//版本
.description("这是第一个接口文档测试")//接口文档描述
.license("The Apache License, Version 2.0")//执照
.licenseUrl("http://www.apache.org/licenses/LICENSE-2.0.html") //执照地址
.contact(new Contact("张三","https://www.baidu.com","17855454@qq.com")) //团队
.build(); //构建接口文档信息
}
/**
*
* 显示swagger-ui.html文档展示页,还必须注入swagger资源:
*
* @param registry
*/
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}
}
3、在需要生成文档的类上加上注解
@Api(tags = "控制类") //在接口上添加注解
@ApiOperation(value = "返回值方法")//在方法上添加注解
@ApiModelProperty(value = "id") //实体类字段上的注解