一、依赖
- swagger2
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>3.0.0</version>
</dependency>
- ui
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>3.0.0</version>
</dependency>
如果你使用的是swagger 3.0 你就需要使用
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
访问:http://localhost:8080/swagger-ui/index.html 就可以实现swagger-ui.html的访问
二、集成Swagger
集成Swagger访问:http://localhost:8080/swagger-ui/index.html 就可以实现swagger-ui.html的访问
三、配置Swagger
用配置环境判断是否启动//配置了 Swagger 的Docket的Bean实例
@Bean
public Docket docket(Environment environment){
//获取项目环境
Profiles profiles = Profiles.of("dev");
//通过environment.acceptsProfiles(profiles)判断是否处在自己设定的环境当中
boolean flag = environment.acceptsProfiles(profiles);
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.enable(flag)//enable:是否启动Swagger
.select()
//RequestHandlerSelectors:配置扫描的接口的方式
//basePackage:指定要扫描的包
//any():扫描全部
//none():都不扫描
//withClassAnnotation:扫描类上的注解,参数是一个注解的类
//withMethodAnnotation:扫描方法上的注解
.apis(RequestHandlerSelectors.basePackage("top.learnchen.swagger.controller"))
//paths:过滤器,只扫描learnchen下的接口
.paths(PathSelectors.ant("/learnchen/**"))
.build();
}
//配置 Swagger 信息 = apiInfo
private ApiInfo apiInfo(){
//作者信息
Contact contact = new Contact("Learn陈","http://www.learnchen.top","1060333251@qq.com");
return new ApiInfo(
"Learn陈的SwaggerAPI文档",//标题党
"这个作者是初学者",//简介党
"v1.0",//版本党
"http://www.learnchen.top",//网站党
contact,//作者信息
"Apache 2.0",//不修改
"http://www.apache.org/licenses/LICENSE-2.0",//不修改
new ArrayList()//默认
);
}
四、注释
-
控制器
方法:@ApiOperation("User2控制器")
方法参数:@ApiParam("user")
-
实体类
类:@ApiModel("用户实体类")
方法:@ApiModelProperty("用户名")
网友评论