精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

踩坑合集!2025 年常見的 16 個 REST 狀態碼錯誤,你中了幾個?

開發 前端
為了搞清楚到底有哪些狀態碼使用誤區,我翻了 RFC 7231、研究了一些最佳實踐、審視了項目代碼,也總結出了一份“踩坑黑榜”——REST 接口中最容易犯錯的 16 個 HTTP 狀態碼使用場景。不僅如此,我還基于 Spring Boot 3.4 的架構給出優化實踐方案,讓我們少走彎路。

狀態碼不是“隨便寫個 200 就完事”的擺設

構建一個高可用、高可維護的 REST API,從來不只是把功能“跑通”那么簡單。對于返回給客戶端的 HTTP 狀態碼,很多開發者(包括我自己)在初期都掉進了“200 一把梭”的誤區。一開始我也這么做:用戶點擊“生成報告”,這個操作比較耗時,我直接返回一個 200 OK + “稍等,馬上好”作為反饋,自以為穩了,結果被新入職的小伙伴一句“你這不是應該用 202 Accepted 嗎?”當場點醒。

為了搞清楚到底有哪些狀態碼使用誤區,我翻了 RFC 7231、研究了一些最佳實踐、審視了項目代碼,也總結出了一份“踩坑黑榜”——REST 接口中最容易犯錯的 16 個 HTTP 狀態碼使用場景。不僅如此,我還基于 Spring Boot 3.4 的架構給出優化實踐方案,讓我們少走彎路。

無論你是后端開發、架構師還是 API 網關工程師,這篇文章都能幫你全面排查狀態碼使用是否規范。

以下為本次匯總的 16 個最容易犯錯的狀態碼場景,每個錯誤都附帶優化實踐和建議:

1?? 異步任務卻返回了 200 OK?

? 錯誤示范:

POST /generate-report
HTTP/1.1 200 OK
{"message": "報告正在生成中"}

? 正確做法:使用 202 Accepted 說明任務已接收但尚未完成,并返回任務狀態查詢鏈接:

POST /reports
HTTP/1.1 202 Accepted
Location: /reports/12345
Content-Type: application/json
{"status": "Processing", "estimated_completion": "30 seconds"}

查詢狀態時:

GET /reports/12345
HTTP/1.1 202 Accepted
{"status": "Processing", "progress": "70%"}

2?? 請求失敗卻返回了 200?

? 錯誤示范:

HTTP/1.1 200 OK
{"status": "error", "message": "找不到用戶"}

? 正確做法:使用具體錯誤碼,如:

  • 400 Bad Request:輸入參數有誤
  • 401 Unauthorized:未認證
  • 404 Not Found:資源不存在

3?? 使用 302 Found 重定向 POST?

? 錯誤示范:POST 提交后返回 302,可能導致表單重復提交。

? 正確做法:使用 303 See Other 告知客戶端重定向到 GET 頁面。

4?? 使用 404 來掩蓋方法不支持?

? 錯誤示范:

DELETE /users/123
HTTP/1.1 404 Not Found

? 正確做法:使用 405 Method Not Allowed,并提供 Allow 頭:

HTTP/1.1 405 Method Not Allowed
Allow: GET, POST

5?? 所有錯誤一律 500?

? 錯誤示范:

GET /search?query=
HTTP/1.1 500 Internal Server Error

? 正確做法:針對客戶端錯誤,使用 400 Bad Request 更明確。

6?? 不限流也不返回 429?

? 正確做法:對接口做限流,達到閾值返回 429 Too Many Requests:

HTTP/1.1 429 Too Many Requests
Retry-After: 60

7?? 數據校驗錯誤卻只返回 400?

? 錯誤示范:郵箱格式錯誤返回 400。

? 正確做法:使用 422 Unprocessable Entity 表示參數格式合法但值無效。

8?? 忽略緩存頭?

? 正確做法:結合 ETag、If-Modified-Since 使用 304 Not Modified 節省帶寬。

9?? 刪除失敗還說成功?

? 錯誤示范:刪除不存在用戶返回 200。

? 正確做法:

  • 成功刪除返回 204 No Content
  • 對象不存在返回 404 Not Found

?? 數據庫連接失敗也用 500?

? 正確做法:數據庫不可用返回 503 Service Unavailable,并設置 Retry-After 頭。

1??1?? 創建成功卻不告訴位置?

? 正確做法:使用 201 Created 同時提供 Location:

HTTP/1.1 201 Created
Location: /users/123

1??2?? API 被廢棄卻返回 500?

? 正確做法:使用 410 Gone 明確提示接口已廢棄。

1??3?? 未登錄卻說禁止訪問?

? 錯誤示范:

HTTP/1.1 403 Forbidden

? 正確做法:使用 401 Unauthorized,提示需要登錄認證。

1??4?? 客戶端上傳的格式不對卻沒提示?

? 正確做法:返回 415 Unsupported Media Type,并告知支持的格式類型。

1??5?? CORS 錯誤混淆狀態碼?

? 正確做法:確保返回正確的跨域頭部,并返回具體錯誤而非模糊的 500。

1??6?? 資源沖突也返回成功?

? 正確做法:重復創建資源時使用 409 Conflict 提示沖突。

實戰優化建議(Spring Boot 3.4 示例)

控制器異常處理建議:

@RestControllerAdvice
public class GlobalExceptionHandler {


    @ExceptionHandler(ResourceNotFoundException.class)
    public ResponseEntity<ApiError> handleNotFound(ResourceNotFoundException ex) {
        return ResponseEntity.status(HttpStatus.NOT_FOUND)
                .body(new ApiError("資源不存在", 404));
    }


    @ExceptionHandler(InvalidInputException.class)
    public ResponseEntity<ApiError> handleInvalidInput(InvalidInputException ex) {
        return ResponseEntity.status(HttpStatus.UNPROCESSABLE_ENTITY)
                .body(new ApiError("參數校驗失敗", 422));
    }


    @ExceptionHandler(RateLimitExceededException.class)
    public ResponseEntity<ApiError> handleRateLimit() {
        HttpHeaders headers = new HttpHeaders();
        headers.add(HttpHeaders.RETRY_AFTER, "60");
        return ResponseEntity.status(HttpStatus.TOO_MANY_REQUESTS)
                .headers(headers)
                .body(new ApiError("請求過多,請稍后重試", 429));
    }
}

返回體結構建議:

public class ApiError {
    private String message;
    private int code;


    public ApiError(String message, int code) {
        this.message = message;
        this.code = code;
    }
    // Getter / Setter 省略
}

總結

一個優秀的 RESTful API,不僅要返回正確的業務數據,還要講究語義清晰、語義準確。狀態碼,是 API 與客戶端交流的第一層語言。

使用錯誤的狀態碼,輕則讓前端工程師一臉懵逼,重則引發安全隱患、重試失敗、用戶體驗差……它既是技術細節,也代表團隊的工程素養。

如果你在維護系統 API,不妨對照這 16 個坑,來一次自查:

  • 我們是不是總是用 200 ?
  • 遇到校驗失敗是不是忘了用 422?
  • 緩存返回是不是該用 304?
  • 報錯是不是一律甩個 500?
責任編輯:武曉燕 來源: 路條編程
相關推薦

2017-02-07 10:40:36

2025-04-29 10:17:42

2024-04-01 08:05:27

Go開發Java

2018-07-30 16:18:51

容災備份

2018-09-11 09:14:52

面試公司缺點

2021-11-26 05:50:50

Promise JS項目

2021-10-28 19:10:02

Go語言編碼

2018-04-08 22:16:21

2016-10-19 15:10:18

2019-12-12 14:32:26

SQL語句數據庫

2025-04-15 02:00:00

API版本項目

2010-11-01 09:16:13

DIV+CSS

2019-09-25 15:30:15

2024-06-26 10:37:05

2024-04-10 08:39:56

BigDecimal浮點數二進制

2019-06-18 07:12:25

驗證碼漏洞加密

2015-06-03 13:54:37

JavaScript小錯誤

2024-11-26 08:20:53

程序數據歸檔庫

2025-03-26 02:00:00

API工具開發

2023-03-31 08:25:08

零代碼開源項目
點贊
收藏

51CTO技術棧公眾號

成人在线啊v| 好吊色一区二区三区| 精品免费在线| 欧美日本在线观看| 日韩精品在线观看av| 日韩欧美在线番号| 裸体在线国模精品偷拍| 欧美国产日韩精品| 青娱乐国产视频| 日本亚州欧洲精品不卡| 欧美性猛交xxxx免费看漫画| 一区二区三区电影| 亚洲av无码一区二区乱子伦| 亚洲欧美日韩国产一区二区| 日韩色av导航| 欧美熟妇精品黑人巨大一二三区| yiren22亚洲综合| 亚洲国产美女搞黄色| 亚洲精品国产精品国自产| 性少妇videosexfreexxx片| 久久精品导航| 另类少妇人与禽zozz0性伦| 成人免费av片| 一区二区三区免费在线看| 欧美最猛黑人xxxxx猛交| www.av蜜桃| 欧洲日本在线| 久久久亚洲高清| 成人国产一区二区| 在线观看一二三区| 玖玖在线精品| 国模精品视频一区二区| 欧美在线视频第一页| 国产亚洲一卡2卡3卡4卡新区 | 成人短视频软件网站大全app| 精品日韩视频在线观看| 国产又大又长又粗又黄| 黄色在线网站| 91网站黄www| 国产在线观看一区| 亚洲成人av综合| 国产在线精品一区二区三区不卡| 国产成人小视频在线观看| 日本网站在线免费观看| 国产综合视频| 欧美国产日韩一区| 好吊色视频在线观看| 婷婷精品进入| 久久精品国产欧美亚洲人人爽| www久久久久久久| 国产欧美日韩精品高清二区综合区| 亚洲精品久久久久中文字幕二区| 天天躁日日躁狠狠躁av| 1769国产精品视频| 精品国产一区二区三区不卡| 国产成人av免费观看| www.久久草.com| 欧美二区在线观看| 五月六月丁香婷婷| 国产精品一区二区三区av| 欧美日韩成人激情| 亚洲视频一二三四| 电影中文字幕一区二区| 91精品福利在线一区二区三区| 久久久久xxxx| 视频精品一区二区三区| 日韩精品中文字幕在线不卡尤物| 人妻巨大乳一二三区| 给我免费播放日韩视频| 日韩欧美一卡二卡| 亚洲色偷偷色噜噜狠狠99网| 欧美精品密入口播放| 亚洲欧美日韩爽爽影院| 亚洲a∨无码无在线观看| 日韩中文字幕高清在线观看| 超碰91人人草人人干| 久久久精品一区二区涩爱| 亚洲免费成人| 国产97在线播放| 88av在线视频| 成人午夜激情影院| 欧美日韩综合网| fc2在线中文字幕| 亚洲色图欧美在线| 国产自产在线视频| 日韩网站中文字幕| 91麻豆精品国产91久久久更新时间| 日本黄色三级网站| 麻豆一区一区三区四区| 尤物精品国产第一福利三区 | 成人情趣视频| 不卡av在线网站| 尤物视频在线观看国产| 日韩va亚洲va欧美va久久| 亚洲r级在线观看| 日本韩国免费观看| 中文字幕不卡三区| 国内精品视频一区二区三区| 欧美日一区二区三区| 日韩欧美激情在线| a天堂中文字幕| 欧美日韩视频| 国产精品成人aaaaa网站| 不卡av中文字幕| 国产三级久久久| av在线免费观看国产| 国产超碰精品| 精品91自产拍在线观看一区| www在线观看免费视频| 欧美精品一级| 国产精品久久久久久久久免费 | 国产精品资源在线看| 欧美连裤袜在线视频| 中中文字幕av在线| 欧美日韩国产精品成人| 久久久久亚洲AV成人无码国产| 91日韩在线| 日本a级片电影一区二区| 国内老熟妇对白hdxxxx| 国产日韩在线不卡| 亚洲曰韩产成在线| 欧美日韩亚洲丝袜制服| www.99av.com| 国产无遮挡裸体免费久久| 在线观看亚洲区| 久久精品视频久久| 久久99国产精品久久99| 欧美三级网色| 国产亚洲成av人片在线观看| 欧美一区二区在线观看| 亚洲精品国产精品国自| 久久久久久网| 麻豆传媒一区二区| 牛牛精品一区二区| 精品国产91乱码一区二区三区| 久久精品一区二区三区四区五区| 视频一区二区三区在线| 韩国成人一区| 91av久久| 亚洲国产精品网站| 国产无遮挡又黄又爽在线观看| 国产成人在线观看| av磁力番号网| 精品国产乱码一区二区三区| 菠萝蜜影院一区二区免费| 中文在线a天堂| 中文字幕不卡在线观看| 三级a在线观看| 国产剧情在线观看一区| 国产精品video| 懂色一区二区三区| 在线亚洲人成电影网站色www| 免费黄色在线视频| 久久久久久夜| 亚洲欧美日韩另类精品一区二区三区| 国产69精品久久久久按摩| 亚洲午夜精品久久久久久性色 | 天天操天天干天天综合网| 亚洲一区和二区| 伊人激情综合| 精品视频第一区| 亚洲女同av| 亚洲天堂网站在线观看视频| 国产精品自拍第一页| 国产精品视频一二| 91精产国品一二三产区别沈先生| 午夜激情久久| 成人av资源| 午夜影院在线播放| 中文字幕亚洲欧美日韩在线不卡| 91福利在线观看视频| 一区二区三区在线免费| 女性生殖扒开酷刑vk| 亚洲欧美日韩精品一区二区| 日韩欧美一区二区三区久久婷婷| 希岛爱理一区二区三区av高清| 中文字幕在线亚洲| av观看在线免费| 欧美日韩亚洲精品内裤| 欧美福利第一页| 国产麻豆成人精品| 国产av天堂无码一区二区三区| 美女久久久久| 91视频8mav| 在线最新版中文在线| 国产亚洲视频中文字幕视频| 亚洲综合网av| 亚洲成人激情av| 日本成人免费视频| 国产激情偷乱视频一区二区三区| 久操手机在线视频| 深爱激情综合| 亚洲一区二区三区久久| 少妇视频一区| 久久精品免费播放| 天堂网在线播放| 欧美日韩你懂得| 日韩精品无码一区二区| 欧美激情一区二区| 视频免费在线观看| 久草精品在线观看| 免费欧美一级视频| 亚洲成人最新网站| 日本一区二区三区免费看 | 精品网站在线看| 欧美一级免费| 人人爽久久涩噜噜噜网站| 羞羞视频在线观看不卡| 国产亚洲欧美另类中文| 乱精品一区字幕二区| 欧美日韩国产大片| 永久免费无码av网站在线观看| 亚洲黄色免费电影| 中文字幕av久久爽一区| 91在线视频免费91| 天天综合成人网| 日韩成人免费在线| 青青艹视频在线| 在线欧美亚洲| 性欧美18一19内谢| 成人精品电影| 欧美午夜精品久久久久免费视| 亚洲成人影音| 国产乱肥老妇国产一区二| 日韩电影网站| 欧亚精品中文字幕| 国产激情视频在线看| 久久久久国产精品www| 免费黄色在线网站| 伊人青青综合网站| 美国成人毛片| 亚洲精品国偷自产在线99热| 黄色一级a毛片| 欧美成人性战久久| 精品国产无码一区二区| 91精品国产入口| 亚洲视频一区二区三区四区| 91福利精品视频| 日韩久久中文字幕| 色综合天天做天天爱| 97久久久久久久| 欧美日韩精品中文字幕| 中国一级免费毛片| 精品国产乱码久久久久酒店| 伊人久久综合视频| 欧美日韩中文字幕在线| 好吊操这里只有精品| 欧美色视频日本版| 国产婷婷色一区二区在线观看| 欧美日韩一区二区在线播放| 黄色免费av网站| 91久久精品午夜一区二区| 伊人久久中文字幕| 欧美日韩国产区一| 国产免费一区二区三区最新不卡 | 一卡二卡在线观看| 欧美挠脚心视频网站| 国产一区二区女内射| 欧美一区在线视频| 亚洲黄色在线观看视频| 亚洲电影免费观看高清| 五月婷婷深深爱| 亚洲日韩欧美视频一区| 成人在线免费观看| www.日韩av.com| 中文字幕有码在线观看| 久久久久久久久久久人体| 综合日韩av| 国产精品视频26uuu| 国产精品亚洲欧美日韩一区在线| 成人欧美一区二区三区黑人免费| 精品国产18久久久久久洗澡| 欧美精品一区二区三区四区五区| 成人高清电影网站| 日本中文字幕一级片| 在线视频精品| 亚洲免费一级视频| 国产91富婆露脸刺激对白| theav精尽人亡av| 国产精品对白交换视频| 国产大片中文字幕在线观看| 在线观看91精品国产入口| 国产黄频在线观看| 亚洲久久久久久久久久| 久久综合网导航| 97在线视频免费播放| 国产69精品久久久久9999人| 国产chinese精品一区二区| 亚洲精品中文字幕99999| 一本色道久久综合亚洲二区三区| 韩国亚洲精品| 一区二区三区入口| 成人免费高清在线观看| 日本高清黄色片| 亚洲一区二区视频在线| 最近中文字幕免费在线观看| 日韩欧美电影一区| 成人在线播放视频| 欧美日韩ab片| 成人免费在线观看视频| 国产在线一区二| 国产精品99久久精品| 国产最新免费视频| 国产美女精品在线| 中字幕一区二区三区乱码| 亚洲国产va精品久久久不卡综合| 中文字幕 国产| 日韩国产中文字幕| a天堂中文在线官网在线| 日韩免费黄色av| 国产精品xxxav免费视频| 在线国产伦理一区| 视频一区视频二区中文字幕| 日本人添下边视频免费| 国产精品二三区| 欧美三级网站在线观看| 亚洲精品wwww| 日本无删减在线| 成人精品久久久| 北条麻妃国产九九九精品小说| 久久精品国产sm调教网站演员| 国产在线国偷精品免费看| 美国美女黄色片| 在线免费不卡视频| 飘雪影院手机免费高清版在线观看 | 日韩一级免费毛片| 欧美不卡视频一区发布| 黄页免费欧美| 亚洲精品久久区二区三区蜜桃臀| 欧美一级播放| 亚洲第一页av| 精品久久久久久中文字幕| 亚洲精品字幕在线| 欧美精品中文字幕一区| 99久久久国产| 在线免费一区| 麻豆精品在线播放| 亚洲色图日韩精品| 欧美三区在线观看| 国产成人天天5g影院在线观看| 欧美中文在线观看| 午夜a一级毛片亚洲欧洲| 久久黄色片视频| 99re免费视频精品全部| 国产精品xxxx喷水欧美| 亚洲精品二三区| 欧美gv在线| 久久99国产精品| 亚洲在线观看| 高潮毛片无遮挡| 欧洲一区二区三区在线| 97视频精彩视频在线观看| 国产精品女视频| 久久精品国产www456c0m| 久久久久xxxx| 一区二区三区不卡视频在线观看 | 日本天堂在线视频| 亚洲精品电影在线观看| 成人av免费电影网站| 日本免费高清不卡| 麻豆专区一区二区三区四区五区| 可以免费看av的网址| 91精品黄色片免费大全| 色www永久免费视频首页在线| 国产91社区| 国产农村妇女精品一区二区| 久久久久久久久久久久| 欧美日韩在线三区| 中中文字幕av在线| 狠狠干一区二区| 青草国产精品久久久久久| 日本黄色录像视频| 亚洲成人av片| 日韩欧美一区二区三区在线观看 | 女同性恋一区二区三区| 欧美性极品xxxx做受| 高清在线观看av| 亚洲va男人天堂| 国产亚洲综合精品| 国产免费嫩草影院| 欧美不卡一二三| 桃子视频成人app| 一本一本a久久| 成人少妇影院yyyy| 探花国产精品一区二区| 九九视频这里只有精品| 欧美**vk| 亚洲av毛片在线观看| 欧美日韩免费网站| 黄a在线观看| 久久天天狠狠| 激情综合色播激情啊| 日韩欧美高清在线观看| 日韩中文在线中文网三级| 极品一区美女高清| 57pao国产成永久免费视频| 欧美日韩国产在线| 中日韩高清电影网| 日韩三级电影| 成人国产精品免费网站|