介绍: swagger是一个文档api,我们使用apiPost测试的时候需要输入地址和各种参数,比较麻烦,我们采用集成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>
编写swagger配置文件:
@Configuration
@EnableSwagger2
public class SwaggerConfig {
//配置swagger的bean实例
@Bean
public Docket docket()
{
return new Docket(DocumentationType.SWAGGER_2)
.groupName("wcy") //分组
.apiInfo(apiInfo())
//select()函数返回一个ApiSelectorBuilder实例,用来控制接口被swagger做成文档
.enable(true) //是否启动
.select()
//用于指定扫描哪个包下的接口
.apis(RequestHandlerSelectors.basePackage("com.guardyou"))
//选择所有的API,如果你想只为部分API生成文档,可以配置这里
.paths(PathSelectors.any()) //过滤什么路径
.build();
}
//配置swagger的信息apiInfo
private ApiInfo apiInfo()
{
return new ApiInfoBuilder()
//用来自定义API的标题
.title("SwaggerAPI标题测试")
//用来描述整体的API
.description("swagger的描述信息")
//创建人信息
.contact(new Contact("guardyou3" +
"","http://localhost:8081/swagger-ui.html","xxx@qq.com"))
//用于定义服务的域名
//.termsOfServiceUrl("")
.version("1.0") //可以用来定义版本
.build();
}
}
打开浏览器访问swagger-ui.html
可以看到已经能够访问文档界面了,并且显示相应的controller,值得注意的是只有出现在controller中的实体类才会被扫描,否则是不会出现在文档中的。
点开具体的方法
可以看到他已经给我们介绍了具体的用法以及参数示例,我们可以直接进行调用,是不是非常的方便
- @Api: 作用在类上,表示对类的说明
- @ApiOperation: 作用在方法上,标注方法的用途
- @ApiParam: 作用在方法参数或者实体类属性上,表明参数信息,是否必须等描述信息
- @ApiModel :作用在实体类上,藐视实体信息
- @ApiModelProperty: 作用在实体类的属性上,描述属性信息
- @ApiIgnore: 作用在实体类属性上,忽略某个字段使其不显示在文档中
还有其他swagger相关注解,这里暂不列出
555
555