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

REST API中未识别PII参数:应返回404还是422状态码?

关于搜索接口返回状态码的选择

直接给结论:这种场景下应该返回422 Unprocessable Entity,而非404。

具体原因如下:

  • 404的核心语义是「请求的资源不存在」:你的接口POST /comments本身是存在的,调用方能够正常访问到这个端点,只是请求体里的邮箱在系统中没有对应记录,并不是接口本身找不到。如果返回404,会让调用方误解为评论搜索接口不存在,偏离了状态码的本意。
  • 422对应「请求格式合法,但语义无效」的场景:你的请求体格式是正确的(比如邮箱格式符合规范),但这个邮箱未被系统识别(数据库中无对应记录),属于业务规则层面的无效参数,完全匹配422的适用范围。调用方收到422后,能明确知道是自己提供的邮箱有问题,而非接口本身的问题。

额外补充:如果你的接口设计是GET /users/{email}/comments(用邮箱作为路径参数),那邮箱不存在时返回404是合理的——因为此时请求的是某个特定用户的评论资源,该用户对应的资源确实不存在。但你的接口是通过POST /comments的请求体传邮箱做搜索,本质是一次查询操作,并非请求特定资源,所以用422更恰当。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 03:27:05