医学影像AI可解释性:文本与示例解释技术详解
2026/5/10 10:16:44
在 RESTful API 设计中,HTTP 方法(HTTP Verbs)是表达对资源操作意图的核心方式。不同的 HTTP 方法对应不同的语义,正确使用它们能让 API 更清晰、可预测和符合 REST 原则。
| HTTP 方法 | 对应 CRUD 操作 | 主要用途 | 是否安全(Safe) | 是否幂等(Idempotent) | 典型状态码(成功时) |
|---|---|---|---|---|---|
| GET | Read | 获取资源(单个或集合) | 是(不修改资源) | 是 | 200 OK |
| POST | Create | 创建新资源 | 否 | 否 | 201 Created |
| PUT | Update(替换) | 替换(全量更新)指定资源 | 否 | 是 | 200 OK 或 201 Created |
| PATCH | Update(部分) | 部分更新指定资源(只修改提供的字段) | 否 | 否(取决于实现) | 200 OK 或 204 No Content |
| DELETE | Delete | 删除指定资源 | 否 | 是 | 200 OK 或 204 No Content |
GET
GET /users→ 获取用户列表GET /users/123→ 获取 ID 为 123 的用户GET /articles?tag=rest&limit=20&page=2→ 分页查询带标签的文章POST
POST /users→ 创建新用户,返回 201 + Location 头部指向新资源 URIPOST /orders/123/pay→ (不推荐)触发支付(更推荐用资源方式设计)PUT
PUT /users/123→ 用请求体完全替换 ID 为 123 的用户PATCH
PATCH /users/123→ Body:{ "name": "新名字" }只改名字DELETE
DELETE /users/123→ 删除 ID 为 123 的用户| 方法 | 用途 | RESTful 中常见场景 |
|---|---|---|
| HEAD | 与 GET 相同,但只返回头部(无响应体) | 检查资源是否存在、获取元信息(如 Last-Modified) |
| OPTIONS | 获取资源支持的 HTTP 方法 | CORS 预检请求、API 文档发现 |
| TRACE | 回显请求(用于调试) | 很少使用,通常禁用以防安全风险 |
幂等性对网络重试、缓存、负载均衡非常重要。
假设资源是用户(/users/123):
| 操作 | 推荐 HTTP 请求 | 不推荐(RPC 风格) |
|---|---|---|
| 获取用户信息 | GET /users/123 | POST /getUser |
| 创建用户 | POST /users | GET /createUser |
| 更新用户姓名 | PATCH /users/123{ “name”: “张三” } | POST /updateUserName |
| 完全替换用户信息 | PUT /users/123(完整用户对象) | POST /replaceUser |
| 删除用户 | DELETE /users/123 | POST /deleteUser |
“查用 GET,增用 POST,全改 PUT,部分 PATCH,删用 DELETE”
正确使用 HTTP 方法是设计优秀 RESTful API 的基础,它能让你的接口更直观、更易维护,也更符合业界标准。如果你想看具体代码示例(如 Express、Spring Boot 中的路由定义)或其他进阶话题(如批量操作如何选择方法),随时告诉我!