Swagger 介绍
Swagger [swægə]
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务的接口文档。
swagger官网提供了四个工具: Swagger Editor、Swagger Codegen、Swagger UI和Swagger Inspector。
Swagger Editor:基于Swagger的API的开源编辑器上设计、描述和记录您的API。Swagger编辑器非常适合快速开始使用Swagger规范。它干净,高效,并配备了许多功能。
注:即使工具已经减轻了很多工作量,但是json文档写起来还是一个很繁琐的事情,于是乎,就有大神开发出了可以嵌入代码中直接生成json文档的工具,后面会介绍两种:Swagger整合Jersey和Swagger整合Spring MVC
Swagger Codegen:暂时还不清楚,有人了解可以留言给我,谢谢~
Swagger UI:根据Swagger规范生成的json文档转化成可视化前端界面。
Swagger Inspector:用来调用和验证REST、GraphQL和基于SOAP的Web服务,以确保它们正确运行。(和另一个名叫Postman工具相似,感兴趣的可以研究研究)
整合Swagger和Jersey
第一步 在项目中加入依赖
compile(group: 'io.swagger', name: 'swagger-jersey2-jaxrs', version: '1.5.0') {
exclude module: 'jackson-datatype-joda'
}
第二步 在程序用引入swgger注解
在程序中对应的Controller类中使用swagger注解,这里只展示最常用的几个,更加详细的参数信息可以在官网上查询。
@Api("User")
@Path("users")
public class UserApi {
@Autowired
private UserService userService;
// 增
@ApiOperation(value = "新增用户")
@POST
// 返回类型
@Produces(MediaType.APPLICATION_JSON)
//传入类型
@Consumes(MediaType.APPLICATION_JSON)
public Response addUser(UserDTO userDTO) {
userService.addUser(userDTO);
return Response.ok().build();
}
// 删
@ApiOperation(value = "删除用户")
@Path("{user_id}")
@DELETE
@Produces(MediaType.APPLICATION_JSON)
public void deleteUser(@PathParam("user_id") String userId) {
System.out.println("删除"+userId);
}
// 改
@ApiOperation(value = "修改用户")
@Path("{user_id}")
@PUT
@Produces(MediaType.APPLICATION_JSON)
public void updateUser(@PathParam("user_id")