常用方法(REST / API)
| 方法 | 语义 | 幂等 | 请求体 | 典型用途 |
|---|---|---|---|---|
GET | 获取资源 | 是 | 通常无 | 查询列表、详情;参数在 URL query |
POST | 提交/创建 | 否 | 常有 | 创建资源、表单提交、非幂等操作 |
PUT | 整体替换 | 是 | 常有 | 用 body 完整替换指定 URI 资源 |
PATCH | 部分更新 | 否* | 常有 | 只更新部分字段(JSON Patch 等) |
DELETE | 删除资源 | 是 | 可选 | 删除指定 URI;重复删除常返回 404/204 |
HEAD | 同 GET 但无 body | 是 | 无 | 检查资源是否存在、取响应头 |
OPTIONS | 查询支持的方法 | 是 | 无 | CORS 预检;发现 Allow 头 |
* PATCH 是否幂等取决于具体语义与实现。
其他方法
| 方法 | 说明 |
|---|---|
CONNECT | 建立隧道,多用于 HTTPS 代理 |
TRACE | 回显请求,调试用;生产环境常禁用 |
REST 风格与状态码搭配(参考)
| 操作 | 推荐方法 | 成功状态码 |
|---|---|---|
| 查询 | GET | 200 |
| 创建 | POST | 201 + Location |
| 全量更新 | PUT | 200 / 204 |
| 部分更新 | PATCH | 200 / 204 |
| 删除 | DELETE | 204 / 200 |
相关:HTTP状态码对照表 · HTTP请求头对照表
工具说明
幂等:同一请求执行多次,资源状态与执行一次相同(GET、PUT、DELETE 通常幂等;POST 创建两次会得到两个资源)。
常见误区
用 GET 做删除或改数据(不安全、可被缓存/预取);用 POST 做一切;PUT 与 PATCH 混用——PUT 应传完整资源,PATCH 只传变更字段。
沪公网安备31010502007661号