You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

POST/PUT请求体不允许为空时 API应当返回什么HTTP状态码

POST/PUT请求必填请求体为空时的HTTP状态码选型参考

最通用的选择:400 Bad Request

你的选择是符合行业通用实践的,400 Bad Request是这类场景下绝大多数开发者的首选:

  • 该状态码的原生语义就是「客户端请求存在语法错误,服务端无法正常处理」,请求体为空违反接口的明确约定,完全匹配该语义。
  • 包括RESTful通用规范、OpenAPI默认约定在内的主流API设计标准,都将「请求参数/结构不符合接口要求」的场景归类到400错误范畴,调用方的理解成本极低。
  • 实际使用时建议在响应体中补充具体的错误信息,比如{"error_code":"INVALID_REQUEST","message":"当前接口请求体不允许为空,请按规范传入必填参数"},方便调用方快速定位问题。

小众可选方案(仅特殊场景推荐)

也有部分开发者会选用其他状态码,但仅适合特定的业务体系:

  • 422 Unprocessable Entity:该状态码来自WebDAV扩展规范,语义为「服务端可以识别请求的语法,但是请求内容不符合业务规则」,如果你的API属于WebDAV体系,可以考虑使用,普通业务场景不推荐,会增加对接方的理解成本。
  • 除此之外还有少部分团队会用400之外的自定义状态码,但这类方案都需要你在接口文档中做明确说明,否则很容易引发对接纠纷。

核心原则:如果你的团队内部已经有统一的错误码规范,优先遵循内部约定即可,团队内的统一规范比对齐通用实践优先级更高。

内容的提问来源于stack exchange,提问作者gmourier

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 19:21:02