SpringBoot設(shè)置HTTP響應(yīng)狀態(tài)碼過(guò)程(HTTP Status Code)
SpringBoot 設(shè)置HTTP 響應(yīng)狀態(tài)碼 (HTTP Status Code)
HTTP請(qǐng)求響應(yīng)的內(nèi)容有很多,包括Body、Cookies、Headers和Status。
我們最常用的是Body、其次Headers、Cookies。而HTTP Status Code關(guān)注得最少。

HTTP Status Code
| 分類(lèi) | 分類(lèi)描述 |
|---|---|
| 1** | 信息,服務(wù)器收到請(qǐng)求,需要請(qǐng)求者繼續(xù)執(zhí)行操作 |
| 2** | 成功,操作被成功接收并處理 |
| 3** | 重定向,需要進(jìn)一步的操作以完成請(qǐng)求 |
| 4** | 客戶(hù)端錯(cuò)誤,請(qǐng)求包含語(yǔ)法錯(cuò)誤或無(wú)法完成請(qǐng)求 |
| 5** | 服務(wù)器錯(cuò)誤,服務(wù)器在處理請(qǐng)求的過(guò)程中發(fā)生了錯(cuò)誤 |
常用的幾種狀態(tài)碼
| 狀態(tài)碼 | 英文名 | 中文描述 |
|---|---|---|
| 200 | OK | 請(qǐng)求成功。一般用于GET與POST請(qǐng)求 |
| 201 | Created | 已創(chuàng)建。成功請(qǐng)求并創(chuàng)建了新的資源 |
| 202 | Accepted | 已接受。已經(jīng)接受請(qǐng)求,但未處理完成 |
| 400 | Bad Request | 客戶(hù)端錯(cuò)誤,請(qǐng)求包含語(yǔ)法錯(cuò)誤或無(wú)法完成請(qǐng)求 |
| 401 | Unauthorized | 請(qǐng)求要求用戶(hù)的身份認(rèn)證 |
| 403 | Forbidden | 服務(wù)器理解請(qǐng)求客戶(hù)端的請(qǐng)求,但是拒絕執(zhí)行此請(qǐng)求 |
| 404 | Not Found | 服務(wù)器無(wú)法根據(jù)客戶(hù)端的請(qǐng)求找到資源(網(wǎng)頁(yè)) |
| 500 | Internal Server Error | 服務(wù)器內(nèi)部錯(cuò)誤,無(wú)法完成請(qǐng)求 |
| 501 | Not Implemented | 服務(wù)器不支持請(qǐng)求的功能,無(wú)法完成請(qǐng)求 |
| 503 | Service Unavailable | 由于超載或系統(tǒng)維護(hù),服務(wù)器暫時(shí)的無(wú)法處理客戶(hù)端的請(qǐng)求 |
SpringBoot示例
@Log(title = "HTTP Status Code 測(cè)試", 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());
}
}
狀態(tài)碼200

狀態(tài)碼 400

狀態(tài)碼404

狀態(tài)碼500

狀態(tài)碼其他

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring向頁(yè)面?zhèn)髦岛徒邮茼?yè)面?zhèn)鬟^(guò)來(lái)的參數(shù)詳解
這篇文章主要給大家介紹了關(guān)于Spring向頁(yè)面?zhèn)髦岛徒邮茼?yè)面?zhèn)鬟^(guò)來(lái)的參數(shù)的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-06-06
實(shí)例解析Java設(shè)計(jì)模式編程中的適配器模式使用
本篇文章主要通過(guò)實(shí)例對(duì)適配器模式進(jìn)行了詳解,需要的朋友可以參考下2017-04-04
Mybatis實(shí)體類(lèi)和表映射問(wèn)題(推薦)
在項(xiàng)目開(kāi)發(fā)中我們經(jīng)常會(huì)遇到表中的字段名和表對(duì)應(yīng)實(shí)體類(lèi)的屬性名稱(chēng)不一定都是完全相同的。下面小編給大家介紹下這種情況下如何解決字段名與實(shí)體類(lèi)屬性名不相同的沖突問(wèn)題。下面小編給大家?guī)?lái)了Mybatis實(shí)體類(lèi)和表映射的解決方法,小伙伴們一起學(xué)習(xí)吧2016-09-09
java計(jì)算代碼段執(zhí)行時(shí)間的詳細(xì)代碼
java里計(jì)算代碼段執(zhí)行時(shí)間可以有兩種方法,一種是毫秒級(jí)別的計(jì)算,另一種是更精確的納秒級(jí)別的計(jì)算,這篇文章主要介紹了java計(jì)算代碼段執(zhí)行時(shí)間,需要的朋友可以參考下2022-08-08
Java實(shí)現(xiàn)將數(shù)字日期翻譯成英文單詞的工具類(lèi)實(shí)例
這篇文章主要介紹了Java實(shí)現(xiàn)將數(shù)字日期翻譯成英文單詞的工具類(lèi),結(jié)合完整實(shí)例形式分析了Java日期轉(zhuǎn)換與字符串操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-09-09
Springboot Tomcat APR模式詳解和實(shí)踐記錄
這篇文章主要介紹了Springboot Tomcat APR模式詳解和實(shí)踐記錄,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2025-04-04
Java通過(guò)Freemarker模板實(shí)現(xiàn)生成Word文件
FreeMarker是一款模板引擎: 即一種基于模板和要改變的數(shù)據(jù), 并用來(lái)生成輸出文本的通用工具。本文將根據(jù)Freemarker模板實(shí)現(xiàn)生成Word文件,需要的可以參考一下2022-09-09

