Swagger @ApiResponse 注解的作用和示例

Swagger @ApiResponse注解用于定义API的响应消息的详细信息,包括响应码、响应消息等信息。其主要作用是帮助开发人员更好地理解API的响应格式以及对应的含义。

@ApiResponse注解包含以下属性:

code:响应状态码
message:响应消息
response:响应模型的类型,如果响应模型是集合类型,需要使用Swagger的@ApiModelProperty注解进行定义
responseContainer:定义响应模型的类型,可以是list、set、map等

示例:

@ApiOperation(value = "获取用户信息", notes = "根据用户ID获取用户信息")
@ApiResponses(value = {
        @ApiResponse(code = 200, message = "请求成功"),
        @ApiResponse(code = 400, message = "请求参数错误"),
        @ApiResponse(code = 401, message = "未授权"),
        @ApiResponse(code = 404, message = "请求路径不存在"),
        @ApiResponse(code = 500, message = "系统错误")})
@GetMapping("/user/{id}")
public User getUserById(@ApiParam(value = "用户ID", required = true) @PathVariable Long id) {
    return userService.getUserById(id);
}

在上面的示例中,@ApiResponse注解定义了API的不同响应状态码对应的响应消息。其中,当API请求成功时,响应状态码为200,响应消息为”请求成功”。如果API的请求参数错误,响应状态码为400,响应消息为”请求参数错误”。其他响应状态码的定义方式类似。