SpringBoot集成Swagger
- 新建一个SpringBoot=Web的项目
- 导入相关依赖
<!--swagger依赖-->
<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>
- 编写一个Hello工程
@RestController
public class HelloController {
@RequestMapping(value = "/hello")
public String hello(){
return "hello";
}
}
- 配置swagger====》Config
- 测试运行
配置Swagger
swagger的bean实例的Docket:
Swagger配置扫描接口
Docket.select
若 我只希望我的Swagger在生产环境中使用,在发布时不使用?
- 判断是不是生产环境 flag=false
- 注入enable(false)
@Configuration
@EnableSwagger2 //开启swagger2
public class SwaggerConfig {
//配置了swagger的Docket的bean实例
@Bean
public Docket docket(Environment environment){
//设置要显示的swagger环境
Profiles profiles=Profiles.of("dev","test");
//获取项目的环境: 是dev还是pro
//通过environment.acceptsProfiles判断是否储在自己设定的环境当中
boolean flag = environment.acceptsProfiles(profiles);
System.out.println(flag+"<++++++++++");
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.enable(flag) // 是否启用swagger,如果为false则不能在浏览器总访问swagger
.select()
.apis(RequestHandlerSelectors.basePackage("com.zfj.controller"))
//.paths(PathSelectors.ant("/zfj/**"))
.build();
}
//配置swagger信息=apiInfo
private ApiInfo apiInfo(){
//作者信息
Contact contact=new Contact("张逢杰","www.baidu.com","1097706841@qq.com");
return new ApiInfo(
"张逢杰的SwaggerAPI文档",
"冲冲冲",
"v1.0",
"urn:tos",
DEFAULT_CONTACT,
"Apache 2.0",
"http://www.apache.org/licenses/LICENSE-2.0",
new ArrayList());
}
}
配置api文档的分组
.groupName("jay1")
如何多个分组
实体类配置
Controller