SpringBoot 设置HTTP 响应状态码 (HTTP Status Code)
HTTP请求响应的内容有很多,包括Body、Cookies、Headers和Status。
我们最常用的是Body、其次Headers、Cookies。而HTTP Status Code关注得最少。
HTTP Status Code
分类 | 分类描述 |
---|
1** | 信息,服务器收到请求,需要请求者继续执行操作 |
2** | 成功,操作被成功接收并处理 |
3** | 重定向,需要进一步的操作以完成请求 |
4** | 客户端错误,请求包含语法错误或无法完成请求 |
5** | 服务器错误,服务器在处理请求的过程中发生了错误 |
常用的几种状态码
状态码 | 英文名 | 中文描述 |
---|
200 | OK | 请求成功。一般用于GET与POST请求 |
201 | Created | 已创建。成功请求并创建了新的资源 |
202 | Accepted | 已接受。已经接受请求,但未处理完成 |
400 | Bad Request | 客户端错误,请求包含语法错误或无法完成请求 |
401 | Unauthorized | 请求要求用户的身份认证 |
403 | Forbidden | 服务器理解请求客户端的请求,但是拒绝执行此请求 |
404 | Not Found | 服务器无法根据客户端的请求找到资源(网页) |
500 | Internal Server Error | 服务器内部错误,无法完成请求 |
501 | Not Implemented | 服务器不支持请求的功能,无法完成请求 |
503 | Service Unavailable | 由于超载或系统维护,服务器暂时的无法处理客户端的请求 |
SpringBoot示例
@Log(title = "HTTP Status Code 测试", businessType = BusinessType.OTHER)
@PostMapping("/test")
public ResponseEntity<AjaxResult> auth(@RequestParam String username, @RequestParam String password)
{
switch (username){
case "200":
return ResponseEntity.ok().body(AjaxResult.success());
case "400":
return ResponseEntity.badRequest().body(AjaxResult.error(400,"Bad Request"));
case "404":
return ResponseEntity.notFound().build();
case "500":
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(AjaxResult.error());
default:
return ResponseEntity.status(203).body(AjaxResult.success());
}
}
状态码200
状态码 400
状态码404
状态码500
状态码其他