要在REST API中为项目创建文档,
POST /projects/1234/documents
如果id = 1234的项目不存在,预计会返回什么状态?
与this question相关,但处理的是POST,而不是GET。
答案 0 :(得分:1)
简短回答:对于大多数与您描述的类似的用例,404。
更完整:“子资源”的概念在HTTP中并不存在。
是的,URI具有标准的分段层次结构,您可以使用点分段的相对分辨率来计算另一个URI。这些语义不会转化为资源层次结构。
/projects/1234/documents
不是路径遍历的描述,它是字典的关键。
就HTTP而言,尽管/projects/1234/documents
和/projects
没有/projects/1234
,但/projects/1234/documents
仍然存在。
略有不同,您的回复中的元数据(包括状态代码)适用于/projects/1234/documents
资源,而不适用于任何其他。
请注意,这是双向的:/projects/1234
不仅不会暗示/projects/1234/documents/5678
的任何内容,而且它也不会暗示{{1}}的任何内容。
你最好的参考仍然是Fielding's thesis。它也可能有助于审核RFC 7234