介绍
Swagger2是个接口文档插件,它会自动生成接口文档。
它长这样
关键的一点是,它是全自动生成的哦~除了接口文档组名称以及单个接口注释之外,不需要你写任何东西,也就是如上图,只需要写"用户管理,登录注册相关接口",以及"添加用户"之外,其他都不需要你写。
使用方法
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
package com.wind.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
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;
@Configuration //声明该类为配置类
@EnableSwagger2 //声明启动Swagger2
public class SwaggerConfig{
@Bean
public Docket customDocket() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.wind.controller"))//扫描的包路径
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("项目接口文档名称")//文档说明
.version("1.0.0")//文档版本说明
.build();
}
}
如果需要编写注释
@Api(tags = "用户管理,登录注册相关接口")
这个加在类上面
@ApiOperation(value = "登录")
这个加在接口上面
值得一提的是,用了Swagger之后不要使用@EnableWebMvc注解了哦,不然Swagger会失效的。
在配置文件yml或者properties里不要有如下两行
mvc:
static-path-pattern: /static/**
resources:
static-locations: classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/*,classpath:/public/