DELETE请求参数应放在Params(Query Params)中拼为?param=value,或嵌入URL路径如/users/123;不可放Body,否则多数后端不解析,易致404/400/405错误。

DELETE 请求在 Postman 里不是不能发,而是容易发错——多数失败不是接口问题,是参数放错了位置或没处理好动态 ID。
DELETE 请求该把参数写在哪儿?
绝大多数 DELETE 接口靠 URL 路径里的 ID 删除资源,比如 /api/users/123 或 /api/posts?id=456。这时候参数必须进 Params 标签页(Query Params),而不是 Body。
- 错误做法:把 ID 写在
Body→ 服务端收不到,返回404或400 - 正确做法:点开
Params,填key(如id)和value(如789),Postman 自动拼成?id=789 - 路径式 ID(如
/users/{{id}})需配合环境变量,先在Tests里用pm.environment.set("id", jsonData.id)存值
DELETE 带 Body 会怎样?
HTTP 规范允许 DELETE 有 Body,但实际中极少被后端支持。如果你硬塞 JSON 到 Body → raw → JSON,大概率遇到:
- Nginx 或网关直接拦截,返回
411 Length Required或405 Method Not Allowed - Spring Boot 默认不读 DELETE 的 Body,
@RequestBody注解无效,参数为 null - Node.js(Express)需显式启用
app.use(express.json({ type: ['DELETE'] }))才能解析
除非文档明确写了“DELETE 支持 JSON body”,否则别这么干。
Postman 12.27.7 Windows x64 官方安装包,适用于 API 设计、调试、测试与协作。该系列包含 Enterprise 云端性能测试静态 IP 出口能力,以及接口规范标签管理改进,适合受限网络测试与规范资源组织场景。
为什么点了 Send 却返回 404?
404 在 DELETE 场景下,90% 是 ID 不存在或没传,而不是接口地址错了。
- 检查
Params是否为空,尤其用了变量(如{{user_id}})但环境没选对、变量没定义 - 打开 Postman Console(
View → Show Postman Console),看真实发出的 URL 是什么,确认 ID 是否已拼入 - 用 GET 先查一遍该资源是否存在,比如发个
GET /api/users/123,再删 - 注意 URL 末尾斜杠:
/users/123/和/users/123可能被路由视为不同路径
如何让 DELETE 自动带 Token 或 Cookie?
DELETE 和其他方法一样走统一鉴权,但新手常忽略 Header 设置。
- 在
Headers标签页手动加一行:Authorization→Bearer {{token}}(前提是已用登录接口存了token) - 如果后端依赖 Cookie(比如 Session),确保
Settings → General → Enable Cookies是开启的,且上一个请求已成功 Set-Cookie - 不要在
Authorization标签页选 “Inherit auth from parent” 却忘了给 Collection 设 Auth —— 这会导致 DELETE 没头信息,返回401
真正难的不是点 Send,而是确保那个要删的 ID 是有效的、带鉴权的、拼在 URL 上的——少一个环节,就卡在 404 或 401。









