🚀 1️⃣ PATCH 的作用
PATCH
是用于部分更新资源的 HTTP 方法。- 与
PUT
不同,PATCH
只修改资源的部分字段,而不是整体覆盖。 - 常用于增量修改或部分更新操作。
⚙️ 2️⃣ 与 PUT
的区别
特性 | PUT | PATCH |
---|---|---|
作用 | 整体替换资源 | 部分更新资源 |
幂等性 | ✅ 幂等(多次请求结果相同) | ❌ 非幂等(多次请求可能不同) |
请求体 | 包含完整资源数据 | 仅包含需要修改的字段 |
使用场景 | 用户信息整体替换 | 用户信息部分修改 |
✅ 示例:
-
PUT /users/123
{ "name": "Alice", "email": "alice@example.com", "age": 25 }
→ 将
id=123
的用户整体替换为新数据。 -
PATCH /users/123
{ "email": "alice.new@example.com" }
→ 仅修改
id=123
用户的邮箱字段,其他字段保持不变。
🔥 3️⃣ 常见状态码
200 OK
:部分更新成功。204 No Content
:更新成功,无返回内容。400 Bad Request
:请求格式错误。404 Not Found
:资源不存在。
💡 4️⃣ 使用场景
- ✅ 用户信息部分更新
PATCH /users/123
→ 修改邮箱或用户名,而不是覆盖整个用户信息。
- ✅ 订单状态更新
PATCH /orders/456
→ 修改订单的支付状态,不影响其他字段。
- ✅ 配置项更新
PATCH /settings
→ 修改部分配置,不影响其他配置项。
💬 面试回答示例
PATCH
是一种 HTTP 方法,专门用于部分更新资源。
与PUT
不同,PATCH
不会整体替换资源,而只修改指定字段。
例如:修改用户邮箱时,可以使用PATCH /users/123
并仅发送邮箱字段,其他数据保持不变。
它适用于增量更新或局部修改的场景,例如用户资料或订单状态的变更。