跳到正文

HTTP 方法

HTTP Methods

中级通用

HTTP 方法(HTTP Methods)是请求中标明操作意图的类型,常见的有 GET、POST、PUT、PATCH 和 DELETE。它让前后端区分读取、新增、修改和删除等操作,例如查看一篇文章与删除它可以指向同一地址,但使用不同方法。

你可能会说:「帮我把文章接口分清楚:查看、新增、修改和删除各该怎么请求?」

读之前建议先了解

动手看看

内容管理 / API 调试
GET
/api/articles/42
/api/articles
请求体
无请求体
{"title":"夏季发布计划","status":"draft"}
{"title":"春季发布复盘","status":"draft"}
{"title":"春季发布复盘"}
请求前 · 文章集合42 · 春季发布计划 · 已发布
200 OK · 返回文章 42请求后:42 · 春季发布计划 · 已发布(未改变)
201 Created · 新建文章 43请求后:42 保持原样;新增 43 · 夏季发布计划 · 草稿
200 OK · 替换文章 42请求后:42 · 春季发布复盘 · 草稿
200 OK · 更新文章 42请求后:42 · 春季发布复盘 · 已发布
204 No Content · 无响应体请求后:文章集合为空,文章 42 已删除
尚未发送 · 资源保持原样
本地预演,不会请求真实服务器
HTTP 方法
模拟发送请求

切换方法,对照地址、请求体和前后快照;开关可模拟发送或撤回。每次都从同一快照预演,不累积修改。GET 只读取文章,资源不变。

要点

  1. 1

    方法和地址一起决定请求含义

    你可以把地址理解成操作的对象,把方法理解成想对它做什么。比如同样访问 /articles/42,GET 是读取文章,DELETE 是请求删除文章;服务端会按两者的组合处理请求。

  2. 2

    读取、新增与修改各有常见用法

    GET 用来读取,POST 常用来新增资源或提交一项操作。修改已有资源时,PUT 通常表示用提交的内容替换目标资源,PATCH 表示局部修改。具体接口仍要看服务端约定,不能只凭方法猜字段格式。

  3. 3

    重试前要看操作会不会重复

    GET 不该因为被调用就改变服务端数据;PUT 和 DELETE 按语义重复执行,应与执行一次具有相同的预期效果。POST 通常没有这个保证,所以支付、下单等请求超时后,不能只靠换个方法解决重复提交。

容易混淆的地方

HTTP 方法不是接口地址:/articles/42 指向资源,GET 或 DELETE 才说明这次想做什么。它也不是 HTTP 状态码;方法表达客户端的请求意图,状态码说明服务端处理后的结果。比如发出 DELETE 请求,不代表删除一定成功,还要看响应。

什么时候用

适合用

  • 你在设计文章管理接口,要让前端分别读取、创建、修改和删除文章时,用方法区分操作意图。
  • 你和 AI Agent 排查接口调用问题,发现地址没错却执行了错误操作,需要核对请求方法。
  • 你在处理下单请求超时后的重试,需要根据方法语义和接口约定评估重复提交风险。

不适合用

  • 你只是想让页面里的折叠面板展开,不与服务器通信;用组件状态处理,不涉及 HTTP 方法。
  • 你要让多人编辑界面持续接收服务端推送;先考虑 WebSocket 等实时通信方案,而不是靠选择某个 HTTP 方法实现持续推送。

练一练

你在做文章后台:编辑页先读取文章,用户改完标题后只提交标题变化。哪种接口安排最贴合这些操作?

让 AI 帮你做

请为文章后台设计接口,列出读取列表、读取单篇、新增、修改标题和删除文章各自的地址与 HTTP 方法。说明请求体需要哪些字段,并标出哪些操作可能因超时重试造成重复效果;不要把 GET 用于修改数据。

接下来学什么