Swagger @Api 注解的作用和示例

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 属性为方法的描述。