1.什么是SwaggerUI
Swagger UI允许任何人(无论您是开发团队还是最终用户)都可以可视化API资源并与之交互,而无需任何实现逻辑。它是根据您的OpenAPI(以前称为Swagger)规范自动生成的,具有可视化文档,可简化后端实现和客户端使用。
简单的理解,就是可以把所有的以标注的接口,整合在一个页面上,以文档的格式查看,与前端接口进行配合。
2.配置
导入依赖
<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>
3.SwaggerConfig文件配置
@Configuration
@EnableSwagger2
public class SwaggerConfig {
/**
* 配置了Swagger 的Docket的bean实例,扫描接口的位置
* .apis
* RequestHandlerSelectors 配置swagger扫描接口的方式
* basePackage() 指定要扫描哪些包
* any() 全部都扫描
* none() 全部不扫描
* withClassAnnotation() 扫描类上的注解 参数是一个注解的反射对象
* withMethodAnnotation() 扫描包上的注解
* .paths
* PathSelectors 路径扫描接口
* ant 配置以xxx 开头的路径
* @return
*/
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.paths(PathSelectors.any())
.build();
}
/**
* 创建该API的基本信息(这些基本信息会展现在文档页面中)
* 访问地址:http://项目实际地址/swagger-ui.html
*/
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("SpringBoot整合Swagger2")
.description("这是一个swagger的测试案例")
.version("1.0")
.build();
}
}
SwaggerUI的注解表
方法注解名 | 参数含义 | 作用 |
---|---|---|
@Api(tags = {“用户处理模快”}) | tags:说明该类的作用 | 用于Controller类,将该类标记为swagger的资源 |
@ApiModel(description = “这是用户实体类”) | description:描述实体的作用 | 用于实体类上,描述实体作用。 |
@ApiModelProperty(value = “id”,name = “id”,required = true) | value:对属性的简要描述,name:属性名,required:参数是否是必选的 | 用于实体属性上,描述实体的属性 |
@ApiOperation(value = “”, notes = “”) | value:方法的用途和作用,notes:方法的注意事项和备注 | 用于接口方法上,描述针对特定路径下的操作 |
@ApiParam(value = “这是username参数”,name = “username”,defaultValue = “longer”,required = false) | value:对参数的简要描述,defaultValue:参数默认值,required:参数是否是必选的,name:参数名 | 用于方法,参数,用于描述请求的要求和说明 |
@ApiIgnore(value = “”) | value :对方法的简要描述 | 用于方法,使用该注解忽略这个API |
@ApiResponse(code = 200, message = “校验结果有效,true或false代表可用或不可用”) | code:表示响应的状态码,message:描述状态码的响应信息 | HTTP响应其中1个描述 |
@ApiResponses({ @ApiResponse(code = 200, message = “校验结果有效,true或false代表可用或不可用”), @ApiResponse(code = 400, message = “请求参数有误,比如type不是指定值”)}) | HTTP响应其中多个个描述 | |
@ApiError | 发生错误返回的信息 | |
@ApiImplicitParam | 一个请求参数 | |
@ApiImplicitParams | 多个请求参数 |
访问接口
http://localhost:8080/swagger-ui.html
即可显示标注的接口