Rest 缺少父资源时选择哪个HTTP代码 我们考虑以下方法:
Rest 缺少父资源时选择哪个HTTP代码 我们考虑以下方法:,rest,http,web-services,response,httpresponse,Rest,Http,Web Services,Response,Httpresponse,GEThttps://server.com/resource1/{id1}/resource2/{id2}/resource3/{id3}/target/{targetId} 所以基本上我们得到了一个目标。如果targetId为targetId的目标不存在,我们将以404响应,这是正常的。但是以前的资源呢 如果resource1,resource2,resource3不存在该怎么办 又是404吗?或者它是400(但由于HTTP规范,不完全适用)。或者甚至可能是424(因为缺少依赖资源) 我知道可
GEThttps://server.com/resource1/{id1}/resource2/{id2}/resource3/{id3}/target/{targetId}
所以基本上我们得到了一个目标。如果targetId为targetId
的目标不存在,我们将以404响应,这是正常的。但是以前的资源呢
如果resource1
,resource2
,resource3
不存在该怎么办
又是404吗?或者它是400(但由于HTTP规范,不完全适用)。或者甚至可能是424(因为缺少依赖资源)
我知道可能没有100%正确的答案。我还知道如果由/resource1/{id1}/resource2/{id2}/resource3/{id3}/target/{targetId}标识的文档(资源)没有当前的表示形式,那么您应该返回404
由于基于id1的查找失败、基于id2的查找失败、基于id3的查找失败或基于targetId的查找失败而导致资源不存在并不重要
您可以将URI视为缓存键:此拼写是否与具有当前表示形式的资源匹配
如果要解释此特定问题,可以使用响应的消息体。但状态代码和标题是“通过网络传输文档”域中的元数据;通用组件不关心我们的实现细节