Swagger配置
Swagger配置
1.配置了swagger的Docket的bean实例
2.import org.springframework.core.env.Environment;
3./设置要显示的Swagger环境
4.Swagger分组
SwaggerConfig
@Configuration
@EnableSwagger2 //开启swagger2
public class SwaggerConfig {
//配置了swagger的Docket的bean实例
/**
* RequestHandlerSelectors 配置要扫描接口方式
* any()扫描全部
* basePackage()指定要扫描的包
* none()不扫描
* withClassAnnotation():扫描类上的注解,参数是一个注解的反射对象
* withMethodAnnotation():扫描方法上的注解
*
*Swagger在生产环境中使用,在发布的时候不使用
*/
@Bean
public Docket docket(Environment environment){
//设置要显示的Swagger环境
Profiles profiles = Profiles.of("dev","test");
// environment.acceptsProfiles判断是否处在自己设定的环境当中
boolean flag = environment.acceptsProfiles(profiles);
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
//enable是否启动swagger,(true是启动,false是不能在wagger页面启动)
.enable(flag)
.select()
.apis(RequestHandlerSelectors.basePackage("com.hao.star.swagger.controller"))
//接口过滤
//.paths()
.build();
}
//配置swagger信息 = apiInfo
private ApiInfo apiInfo(){
Contact contact = new Contact("郝树星", "www.baidu.com", "870325266@qq.com");
return new ApiInfo("haostar de SwaggerApi文档 ",
"我在等发光的星星",
"v1.0",
"www.baidu.com",
contact,
"Apache 2.0",
"http://www.apache.org/licenses/LICENSE-2.0",
new ArrayList());
}
//分组
/**
* 如何配置多个分组,多个Docket实例即可
* @return
*/
@Bean
public Docket docketA(){
return new Docket(DocumentationType.SWAGGER_2).groupName("A组");
}
@Bean
public Docket docketB(){
return new Docket(DocumentationType.SWAGGER_2).groupName("B组");
}
@Bean
public Docket docketC(){
return new Docket(DocumentationType.SWAGGER_2).groupName("C组");
}
@Bean
public Docket docketD(){
return new Docket(DocumentationType.SWAGGER_2).groupName("D组");
}
}
```java
<!--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>```