什么是 Swagger
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务的接口文档。
简单来说,Swagger是用来帮你生成接口文档的,你只需要写几个简单的配置,注解。
怎么用 Swagger
引入 maven 依赖
<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>
这里引入了2个依赖,第一个
springfox-swagger2
是 Swagger 的核心库,第二个 springfox-swagger-ui
是 Swagger UI 界面的核心库,这两个有什么区别呢?其实光用第一个就已经可以帮你生成api文档了,不过整篇文档都是json格式的数据,不适合人类阅读,因此一般我们需要配合第二个UI库来生成一个网页。
配置Java Bean
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api(){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
}
public ApiInfo apiInfo(){
return new ApiInfoBuilder()
.title("dst测试文档")
.description("说明")
.termsOfServiceUrl("htpp://localhost:8080/hello")
.version("1.0")
.build();
}
}
配置完成后启动项目,在游览器输入 http://localhost:8080/swagger-ui.html#/ 访问
8080是你的项目端口
常用的注解如下:
- @Api()用于类名
- @ApiOperation()用于方法名
- @ApiParam()用于参数说明
- @ApiModel()用于实体类
- @ApiModelProperty用于实体类属性