社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
如果你是一名后端项目开发者,你写好了接口,前端人员如果想知道,就需要你们之前协调书写一个API接口文档来进行交流。
API接口文档难写不说,维护也是一个问题。
我们何不让他自己生成动态接口文档呢? Swagger就扮演这样一个角色,起到了这样一个作用。
Swagger提供了用于生成,可视化和维护API文档的一系列解决方案,使API文档的编辑不再需要人工操作。
1.目前最新版本是2.9.2
,所以我们在项目的pom.xml
文件中导入相关依赖
<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>
右下角,导入pom.xml
文件的改变
2.创建Swagger2配置类
/**
* @author 阳光大男孩!!!
*/
@Configuration
@EnableSwagger2
public class Swagger2Config {
@Bean
public Docket webApiConfig() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("webApi")
//用于指定文档信息
.apiInfo(apiInfo())
.select()
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("接口文档")
.description("本文档是描述xxxxx")
.version("1.0")
.contact(new Contact("阳光大男孩", "https://blog.csdn.net/weixin_43889841", "xxx"))
.build();
}
}
3.如果你的端口开放的是8080,那么访问http://localhost:8080/swagger-ui.html
,一个接口文档就生成了
4.除此之外,亦可以像postman测试接口一样,测试API
我们测试的是一个用于购买商品的接口,由于我们的库存已经是0,所以返回了状态码为200
,信息为抢购失败的信息。
注解 | 作用 |
---|---|
@Api | 修饰整个类,用于controller类上 |
@ApiOperation | 描述一个接口,用户controller方法上 |
@ApiParam | 单个参数描述 |
@ApiModel | 用来对象接收参数,即返回对象 |
@ApiModelProperty | 对象接收参数时,描述对象的字段 |
@ApiResponse | Http响应其中的描述,在ApiResonse中 |
@ApiResponses | Http响应所有的描述,用在 |
@ApiIgnore | 忽略这个API |
@ApiError | 发生错误的返回信息 |
@ApiImplicitParam | 一个请求参数 |
@ApiImplicitParam | 多个请求参数 |
这些注解是用来干什么的?
用来控制接口文档的显示内容。
例如刚才我们购买商品的接口
并没有注释这个接口是干嘛的,我们则可以使用@ApiOperation
注解。
@ApiOperation("购买商品的接口")
@PostMapping("/purchase")
public RespBean purchase(Long userId,Long productId,Integer num)
{
System.out.println("1");
boolean success=purchaseProductService.purchase(productId,userId,num);
if(success)
{
return RespBean.ok("抢购成功");
}
return RespBean.ok("抢购失败");
}
重启项目,此时该接口已经有了相关说明
其他注解的测试,大家有兴趣可以自己测试一下。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!