SpingBoot 集成 Swagger2
SpringBoot整合Swagger2(完整版)
最核心的作用就是可以根据代码自动生成 API 文档。
为了避免不必要的工作,我就在上一篇的项目基础上直接进行操作了。
其实在上一篇的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>
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;
@Configuration
@EnableSwagger2
public class Swagger2Configuration {
//api接口包扫描路径,改成你自己的controller包路径
public static final String SWAGGER_SCAN_BASE_PACKAGE = "com.mbp.demo.controller";
public static final String VERSION = "1.0.0";
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage(SWAGGER_SCAN_BASE_PACKAGE))
.paths(PathSelectors.any()) // 可以根据url路径设置哪些请求加入文档,忽略哪些请求
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("Spring Boot+Swagger2") //设置文档的标题,随便写
.description("接口说明") // 设置文档的描述,随便写
.version(VERSION) // 设置文档的版本信息-> 1.0.0 Version information
.termsOfServiceUrl("http://localhost:8085/user") // 你自己的端口号和地址
.build();
}
}
把其他不是增删查改的方法注释掉。
//这边只举删除用户的例子
@DeleteMapping("/del.do/{id}")
//方法参数说明,name参数名;value参数说明,备注;dataType参数类型;required 是否必传;defaultValue 默认值
@ApiImplicitParam(name = "id", value = "删除的用户id")
//说明是什么方法(可以理解为方法注释)
@ApiOperation(value = "删除用户", notes = "删除用户")
public JsonResult del(@PathVariable Integer id){
boolean del = userService.del(id);
JsonResult<User> jsonResult = new JsonResult<>();
if(del){
jsonResult.setMsg("操作成功!");
}else{
jsonResult.setMsg("操作失败!");
}
return jsonResult;
}
访问”http://localhost:8085/swagger-ui.html“。
界面应该长这样
然后测试,步骤是Try it out→(可能要传入参数)→Execute→测试成功。
步骤非常简单,导入依赖+新建配置类就可以完成了。