常见 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 方法 典型成功状态码 说明
GET 200 OK 返回资源内容
POST 201 Created 创建新资源
PUT 204 No Content 更新资源,无需返回内容
DELETE 204 No Content 删除资源,无需返回内容
PATCH 200 OK 部分更新,返回更新后的内容

总结

  • 204 No Content 适用于操作成功但无需返回内容的场景(如 DELETE、PUT/PATCH 更新后)。
  • 200 OK 适用于需要返回响应内容的场景(如 GET、POST 查询结果)。
  • 201 Created 专用于资源创建操作。

在设计 API 时,应根据上述原则选择合适的状态码,以提高接口的一致性和可理解性

相关推荐
Tairitsu_H2 分钟前
[C++] C++11新增构造:列表初始化和std::initializer_list
开发语言·c++·c++11·构造
宣宣猪的小花园.5 分钟前
【嵌入式】故障与降级:看门狗、保护机制和工程可靠性的底线
开发语言·人工智能·嵌入式硬件·机器学习
shmily麻瓜小菜鸡12 分钟前
JS/TS 易踩坑知识点 — 自动分号插入(ASI)
开发语言·javascript·ecmascript
CoderYanger16 分钟前
前端基础——JavaScript(WebAPI)代码案例
java·开发语言·前端·javascript·css·前端框架·html5
geovindu18 分钟前
CSharp: Task Scheduler
开发语言·后端·c#·.net·.netcore
隐擎fox20 分钟前
网络传输安全剖析:WebRTC 本地真实 IP 泄漏机制(STUN/TURN)与 Python 防护检测实战
网络·网络协议·tcp/ip·安全·webrtc
qq_4017004121 分钟前
Qt窗体大小控制从resize到自适应
开发语言·qt
fengkai454530 分钟前
七、华为云网络综合实验 & 运维类及其他服务总结
服务器·开发语言·php
PHP实战开发录32 分钟前
PHP日志写满磁盘后接口为什么异常
开发语言·系统架构·php·开发
重生之小比特37 分钟前
【Java SE】程序逻辑控制
java·开发语言·python