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
状态码其他