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

无匹配资源时API GET请求的响应方式是否合理?求参考文档

API资源未找到时的响应规范

你的假设完全正确

  • 对于 GET .../pets/{petId}:当指定petId对应的宠物不存在时,返回HTTP 404 Not Found是标准做法。因为你请求的是一个具体的、预期存在的单个资源,而这个资源确实不存在,404能准确传达“请求的资源无法被定位”的语义。
  • 对于 GET .../pets/:当数据库中没有任何宠物数据时,返回HTTP 200 OK和空数组[]是合理的。这个端点的语义是“获取所有宠物资源的集合”,空集合本身是有效的合法状态,并非错误——只是当前集合里没有元素而已,200表明请求处理成功,空数组则清晰返回了集合的当前状态。

相关标准依据

HTTP规范对状态码的定义明确了:

  • 404状态码专门用于“服务器无法找到请求的资源”,完全匹配请求单个具体资源但资源不存在的场景;
  • 200状态码用于“请求已成功处理”,当请求的是资源集合时,即便集合为空,请求本身是成功完成的,所以用200搭配空集合完全符合语义。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 08:15:32