定义:
是一个规范和完整的框架,用于生成,描述,调用和可视化restful风格的web服务框架,方便更好的编写api文档的框架,而且swagger可以模拟HTTP请求调用.
使用步骤:
1.在sprinboot项目中导入swagger依赖
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
2.启动类加注解
在springboot项目的主启动类上面加@EnableSwagger2注解,注解的意思就是在项目启动的时候开启Swagger2;
3.启动测试
start项目之后,访问http://localhost:8080/swagger-ui.html会看到一个页面,说明swagger正常使用
4.创建配置类SwaggerConfig类
类名上面加注解@Configuration,@EnableSwagger2
@Configuration
@EnableSwagger2
public class Swagger2Config {
@Bean
public Docket createRestApi(){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
//为当前包下的controller生成API文档
.apis(RequestHandlerSelectors.basePackage("com.chxc.platform.security.platformuser.rest"))
//为有@Api注解的Controller生成API文档
//.apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
//为有@ApiOperation注解的方法生成API文档
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo(){
return new ApiInfoBuilder().title("用户相关API")
.description("platform-user")
.contact("小林")
.version("1.0.0").description("版本")
.build();
}
}
5.如何利用注解使用
(1).在类上加@Api注解
注解参数:
value=""--------备注url的路径值,显示在swagger-ui,
description=""------- 当备注使用,描述这个类的信息(swagger2中已被淘汰)
例:
@Api(value="收货地址管理",description="收货地址管理")
(2).在方法上
@ApiOperation注解
注解参数:
value=""--------备注url的路劲值
@ApiParam注解(如果方法需要前端传递参数,可以使用此注解)
注解参数:
value=""---------参数备注信息
required=""------是否为必填项,true为必填
@ApilmplicitParam
注解参数:
value=""-------备注属性值
name=""--------备注属性名称
(3)在属性上
******一定要在实体类上加@ApiModel*******
@ApiModelProperty注解(如果方法用对象入参的话,在实体类中对属性加此注解)
注解参数:
value=""---------类属性备注信息
例:
@ApiModelProperty(value="用户名")
private String name;