缺少父资源时要选择的HTTP代码



让我们考虑以下方法:

GET https://server.com/resource1/{id1}/resource2/{id2}/resource3/{id3}/target/{targetId}

所以基本上我们得到了一个target。如果targetId的目标不存在,我们会用404进行响应,这很好。但是以前的资源呢?

如果resource1resource2resource3不存在怎么办?

又是404吗?或者它是400(但由于HTTP规范的原因,不完全适用(。或者甚至可能是424(因为依赖资源丢失(?

我知道可能不会有100%正确的答案。我还知道验证失败或无效重复的REST HTTP状态代码

如果/resource1/{id1}/resource2/{id2}/reresource3/{id3}/target/{targetId}标识的文档(资源(没有当前表示形式,则应返回404。

无论是因为基于id1的查找失败,还是基于id2的查找失败、基于id3的查找失败或基于targetId的查找失败而导致资源不存在,都无关紧要。

您可以将URI视为缓存键:这个拼写是否与具有当前表示形式的资源匹配?

如果要解释此特定问题,则可以使用响应的消息正文。但是状态码和报头是";通过网络传输文件";领域通用组件不关心我们的实现细节。

相关内容

  • 没有找到相关文章

最新更新