Swagger 是一个基于 OpenAPI(OAS)规范的 API 文档生成工具,可以自动生成 API 文档,方便开发者查看和测试 API 接口。
@Api 注解是 Swagger 的一个注解,用于标注 Controller 类,表示这个 Controller 生成 API 文档,可以指定 Controller 的一些元信息,例如 Controller 的名称、描述、标签等等。
@Api 注解常用的属性有:
- value:API 文档的标题,例如:@Api(value = “用户管理”, tags = “用户管理接口”);
- tags:API 的标签,例如:@Api(value = “用户管理”, tags = “用户管理接口”);
- description:API 的描述,例如:@Api(value = “用户管理”, description = “提供用户的增删改查功能”);
- produces:API 的响应数据类型,例如:@Api(value = “用户管理”, produces = “application/json”);
- consumes:API 的请求数据类型,例如:@Api(value = “用户管理”, consumes = “application/json”)。
下面是一个使用 @Api 注解的示例:
@RestController
@Api(value = "用户管理", tags = "用户管理接口")
public class UserController {
@GetMapping("/users")
@ApiOperation(value = "获取所有用户信息", notes = "获取所有用户信息")
public List<User> getAllUsers() {
// 获取所有用户信息的逻辑
}
@PostMapping("/users")
@ApiOperation(value = "添加用户信息", notes = "添加用户信息")
public void addUser(@RequestBody User user) {
// 添加用户信息的逻辑
}
// 其他 API 接口
}
在这个示例中,@Api 注解标注在 Controller 类上,表示这个 Controller 是一个生成 API 文档的类,value 属性为“用户管理”,tags 属性为“用户管理接口”。在 getAllUsers() 和 addUser() 方法上,使用 @ApiOperation 注解标注了方法,表示这些方法生成 API 文档,value 属性为方法的名称,notes 属性为方法的描述。