- 一、Spring Boot集成Swagger
- 1.加依赖
- 2.编写controller层
- 3.编写一个配置类 SwaggerConfig 来配置 Swagger
- 4.重启项目,访问测试 [http://localhost:8080/swagger-ui.html ](http://localhost:8080/swagger-ui.html)
狂神说Swagger的链接
一、Spring Boot集成Swagger
项目结构:
io.springfox springfox-swagger2 2.9.2 io.springfox springfox-swagger-ui 2.9.2
【注意】对spring boot版本有要求,我用的版本为
@RestController
public class HelloController {
@GetMapping(value = "/hello")
public String hello(){
return "hello";
}
// 只要我们的接口中,返回值存在实体类,他就会被扫描到Swagger中
@PostMapping(value = "/user")
public User user(){
return new User();
}
//@ApiOperation,不是放在类上,时方法上
@ApiOperation("hello2控制类")
@GetMapping(value = "/hello2")
public String hello2(@ApiParam("用户名") String username){
return "hello"+username;
}
}
3.编写一个配置类 SwaggerConfig 来配置 Swagger
@Configuration //配置类
@EnableSwagger2// 开启Swagger2的自动配置
public class SwaggerConfig {
//配置分组
@Bean
public Docket docket1(){
return new Docket(DocumentationType.SWAGGER_2).groupName("group1");
}
@Bean
public Docket docket2(){
return new Docket(DocumentationType.SWAGGER_2).groupName("group2");
}
@Bean
public Docket docket3(){
return new Docket(DocumentationType.SWAGGER_2).groupName("group3");
}
@Bean
public Docket docket(Environment environment) {
//判断是否为生产环境,非生产环境时关闭Swagger
// 设置要显示swagger的环境
Profiles of = Profiles.of("dev", "test");
// 判断当前是否处于该环境
// 通过 enable() 接收此参数判断是否要显示
boolean b = environment.acceptsProfiles(of);
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.groupName("王宇")
.enable(b)//配置是否启用Swagger,如果是false,在浏览器将无法访问
.select()
// 通过.select()方法,去配置扫描接口,RequestHandlerSelectors配置如何扫描接口
// 方法basePackage():指定扫描的包
// 方法any():指定扫描的包
// 方法none():不扫描
// 通过方法上的注解扫描,如withMethodAnnotation(GetMapping.class)只扫描get请求
.apis(RequestHandlerSelectors.basePackage("com.wangyu.swagger.controller"))
// 配置如何通过path过滤,即这里只扫描请求以/kuang开头的接口
//.paths(PathSelectors.ant("/kuang/**"))
.build();
}
//配置文档信息
private ApiInfo apiInfo() {
Contact contact = new Contact("王宇", "http://www.baidu.com", "1064171092@qq.com");
return new ApiInfo(
"Swagger学习", // 标题
"学习演示如何配置Swagger", // 描述
"v1.0", // 版本
"http://terms.service.url/组织链接", // 组织链接(Terms of Service)
contact, // 联系人信息
"Apach 2.0 许可", // 许可
"许可链接", // 许可连接
new ArrayList<>()// 扩展
);
}
}
}
4.重启项目,访问测试 http://localhost:8080/swagger-ui.html


