常見 HTTP 方法的成功狀態碼200,204,202,201

?HTTP 協議中,操作成功后的狀態碼選擇取決于操作類型和響應內容,并非所有非 GET/POST 請求都返回 204。以下是常見 HTTP 方法的成功狀態碼規范:

1. GET

  • 200 OK:默認成功狀態碼,表示請求成功且返回了資源內容。
  • 206 Partial Content:當請求范圍獲取資源時(如斷點續傳)。

2. POST

  • 200 OK:操作后返回數據(如查詢結果)。
  • 201 Created:創建了新資源(如創建用戶、上傳文件)。
  • 202 Accepted:請求已接受但尚未處理(異步操作)。
  • 204 No Content:操作成功但無需返回內容(罕見)。

3. PUT

  • 200 OK:更新資源且返回更新后的內容。
  • 204 No Content:更新資源但無需返回內容(更常見)。
  • 201 Created:如果 PUT 用于創建資源(如冪等創建)。

4. DELETE

  • 204 No Content:默認成功狀態碼,表示資源已刪除,無需返回內容。
  • 200 OK:當需要返回刪除的詳細信息時(如批量刪除返回成功列表)。
  • 202 Accepted:異步刪除(請求已接受但尚未執行)。

5. PATCH

  • 200 OK:部分更新資源并返回更新后的內容。
  • 204 No Content:部分更新但無需返回內容。

6. HEAD

  • 200 OK:僅返回響應頭,不包含內容。

選擇原則

  1. 是否創建資源:使用?201 Created(如 POST/PUT 創建新資源)。
  2. 是否需要返回內容
    • 需要返回數據 →?200 OK
    • 無需返回內容 →?204 No Content
  3. 異步處理:使用?202 Accepted(如任務隊列處理)。

常見誤區

  • DELETE 必須返回 204:不一定。例如,批量刪除 API 可能返回成功刪除的對象列表,此時用 200 更合適。
  • PUT/PATCH 只能返回 204:若操作后需要返回更新后的資源(如更新用戶信息后返回完整用戶對象),應使用 200。

示例對照表

HTTP 方法典型成功狀態碼說明
GET200 OK返回資源內容
POST201 Created創建新資源
PUT204 No Content更新資源,無需返回內容
DELETE204 No Content刪除資源,無需返回內容
PATCH200 OK部分更新,返回更新后的內容

總結

  • 204 No Content?適用于操作成功但無需返回內容的場景(如 DELETE、PUT/PATCH 更新后)。
  • 200 OK?適用于需要返回響應內容的場景(如 GET、POST 查詢結果)。
  • 201 Created?專用于資源創建操作。

在設計 API 時,應根據上述原則選擇合適的狀態碼,以提高接口的一致性和可理解性

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/90927.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/90927.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/90927.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【論文閱讀】Think Only When You Need with Large Hybrid-Reasoning Models

Think Only When You Need with Large Hybrid-Reasoning Models2 Large Hybrid-Reasoning Models2.1 Problem Formulation關鍵定義與目標核心挑戰與解決方案2.2 第一階段:混合微調(Hybrid Fine-Tuning, HFT)核心設計數據構建數據集統計優化目…

洛谷 P13014:[GESP202506 五級] 最大公因數

【題目來源】 https://www.luogu.com.cn/problem/P13014 【題目描述】 對于兩個正整數 ,他們的最大公因數記為 。對于 個正整數 ,他們的最大公因數為: 給定 個正整數 以及 組詢問。對于第 組詢問,請求出 的最大公因數&…

構建應用內智能:衡石嵌入式BI如何打造“指標中臺”驅動的場景化分析

在當今數據驅動的業務環境中,將智能分析能力深度嵌入業務應用(如CRM、ERP、SCM、自研SaaS)已成為剛需。然而,實現高性能、一致性、可治理的嵌入式分析面臨巨大技術挑戰。衡石科技通過其核心的指標中臺(Metric Platform…

帶貨視頻評論洞察 Baseline 學習筆記 (Datawhale Al夏令營)

一、 項目認識背景:電商直播/短視頻已積累大量「視頻 評論」數據,蘊含了消費者的真實反饋。目標:通過「商品識別 → 情感分析 → 評論聚類」三步,輔助品牌洞察、網紅投放評估。二、 Baseline 代碼流程1. 讀取和預處理video_data …

uniapp中使用uView-plus踩坑記錄

???1.使用插件市場安裝點擊到插件市場 零云uview-plus3.0重磅發布,全面的Vue3鴻蒙移動組件庫。 - DCloud 插件市場 點擊選擇項目直接導入就可以,下載完成后會在uni_modules中,這個.gitignore中不可忽略 ? 使用在main.js里引入 import…

openGauss數據庫管理實戰指南——基本常用操作總結

查看所有數據庫 查看所有表 \d 查看函數定義 查看所有用戶 select usename from pg_user; 1.數據庫創建管理 CREATE DATABASE test; 2.數據庫用戶創建管理 CREATE USER tom PASSWORD Root123456.; 3.表的創建及管理 3.1.創建表 CREATE TABLE test(ID INTEGER PRIMARY …

智慧公安信息化建設解決方案PPT(63頁)

智慧公安的定義與職能 智慧公安是利用現代信息技術提升公安工作效率與服務質量的新模式,涵蓋刑事偵查、治安管理、交通管理等多方面職能,致力于保障社會安全與秩序。 智慧公安信息化建設的重要性 信息化建設是智慧公安發展的核心,通過數據…

k8s存儲入門

目錄 一、 Volume 的概念 二、 Volume 的類型 三、 通過 emptyDir 共享數據 1. EmptyDir 特性 2. EmptyDir 共享數據 四:使用 HostPath 掛載宿主機文件 1. HostPath 特性 2. 掛載宿主機時區文件 五、 掛載 NFS 至容器 1. 前置準備(所有 K8s 節…

基于 Flutter 的開源文本 TTS 朗讀器(支持 Windows/macOS/Android)

界面特性 基于 Flutter 的文本 TTS 朗讀器支持 Windows、macOS、AndroidTTS 源:OpenAI TTS、Microsoft TTS支持設置代理支持設置應用主題支持倍速支持書簽支持點擊指定地方朗讀支持 txt、epub、貼粘文本支持從上次地方開始朗讀 源代碼https://github.com/xchenhao/t…

深入理解大語言模型:從核心技術到極簡實現

零基礎的讀者建議先看《零基礎理解大語言模型:從生活例子到代碼實現》,本教程的完整代碼可以在GitHub上找到,如果你有任何問題或建議,歡迎交流討論。 引言 自ChatGPT橫空出世以來,大語言模型(Large Langua…

7月13日日記

看來每天寫一篇日記對我來說還是一個不小的挑戰。主要是和惰性做抗爭吧。但是這個東西說實話也沒有什么難度,也并不占用時間,一篇日記大概十幾分鐘就可以寫完。可能更多的是健忘。忘了每天有一個這樣的小任務。忘了前幾天日記寫沒寫了,三下鄉…

《Stata面板數據分析:數據檢驗、回歸模型與診斷技術 - 以NLSW工資研究(公開數據)為例》

本教程旨在全面介紹使用 Stata 進行面板數據分析的方法和技巧。我們將以美國國家縱向調查(NLSW)的數據為例,系統地探討從基礎 OLS 回歸到高級固定效應模型的分析過程。 NLSW 數據集是公開的,可以免費獲取,這為讀者提供了實踐和復現的機會。 通過這個教程,您將掌握使用 …

【VSCode+LaTeX】科研寫作環境搭建

文章目錄0 引言為什么選擇LaTeXVSCode?為什么不選擇Overleaf?1 TeXLive安裝1.1 下載安裝包1.2 運行安裝程序1.3 通過鏡像安裝2 VSCode安裝與配置2.1 下載VSCode安裝包2.2 安裝VSCode2.3 安裝中文語言包2.4 配置LaTeX核心擴展2.5 加載TeX模版文件2.6 編譯…

Surfer軟件入門與等值線繪制實操教程

本文還有配套的精品資源,點擊獲取 簡介:本教程將指導初學者如何使用Surfer軟件進行地質繪圖,重點在于等值線的繪制技巧和提升圖形質量。內容涵蓋Surfer界面介紹、數據導入、等值線繪制方法、樣式設置、地圖增強技術以及輸出保存方法&#…

攻防世界——Web題 very_easy_sql

目錄 payload1 payload2 payload3 看到了題目是sql就猜測是sql注入和萬能密碼了,但怎么試貌似都沒有反應,看源代碼發現了use.php 訪問use.php頁面 可以猜測這里是SSRF,可以訪問到我們本不能訪問的界面,比如:服務器…

基于 SpringBoot 的 REST API 與 RPC 調用的統一封裝

一、為何需要統一封裝? 在討論統一封裝之前,我們先看看 REST 和 RPC 各自的適用場景。 REST API 基于 HTTP 協議,采用 JSON 作為數據交換格式,可讀性好且跨語言,非常適合對外提供服務。 RPC(如 Dubbo、gRPC…

【SpringBoot】 整合MyBatis+Postgresql

MyBatis 是一個輕量級的持久化框架,用于簡化數據庫訪問和操作。它通過將 SQL 語句與 Java 代碼分離,允許開發者使用 XML 或注解來配置 SQL 語句,并將結果映射為 Java 對象。MyBatis 提供了靈活的 SQL 控制,適合需要精細控制 SQL 的…

無縫銜接直播流體驗

文章目錄前言🧠 1. 為什么能“無縫銜接”?🧰 2. Flutter 實現方案? 總體策略🎯 核心技術點? a. 使用全局播放器管理器(單例模式)? b. 廣場頁中的直播卡片使用播放器? c. 詳情頁復用控制器? d. 頁面切換…

[論文閱讀] 軟件工程 | 首個德語軟件工程情感分析黃金標準數據集:構建與價值解析

首個德語軟件工程情感分析黃金標準數據集:構建與價值解析 論文標題:A German Gold-Standard Dataset for Sentiment Analysis in Software EngineeringarXiv:2507.07325 A German Gold-Standard Dataset for Sentiment Analysis in Software Engineering…

PyTorch編程實踐:一文就入門的上手開發!

引言 PyTorch作為當今深度學習領域最流行的框架之一,以其動態計算圖、直觀的Python接口和強大的GPU加速能力,贏得了眾多研究人員和工程師的青睞。本文將深入探討PyTorch的編程實踐,從基礎概念到高級應用,幫助讀者全面掌握這一強大…