当没有 children 时,表示集合的端点应该 return 404 吗?
Should endpoints that represent collections return 404 when no children?
我有一个基于 REST 的 API,其中 gadget
有 widget
与之关联。
gadget
: /api/gadget/123
widget
s: /api/gadget/123/widgets
。
问题是如果当前没有特定 gadget
的 widget
应该怎么办?一种解释是 return 状态码 404
,另一种解释是 return 200
有一个空列表。
有没有更好的方法?或者我们遗漏的问题是否有细节可以帮助左右摇摆?
这对我来说似乎可以解释。我会基于此做出决定——你是否应该期望 gadget
总是有一个 widget
的集合(即使是空的)?如果是这样,我会使用 200
响应和一个空列表,否则 404
需要某种 PUT
或 POST
来初始化集合。
换句话说,如果您的资源包含 link 到其他资源,您的 gadget
资源是否应该始终有一个 link 到相关的 widget
,如果是的话,哪个可能是空的?
我有一个基于 REST 的 API,其中 gadget
有 widget
与之关联。
gadget
:/api/gadget/123
widget
s:/api/gadget/123/widgets
。
问题是如果当前没有特定 gadget
的 widget
应该怎么办?一种解释是 return 状态码 404
,另一种解释是 return 200
有一个空列表。
有没有更好的方法?或者我们遗漏的问题是否有细节可以帮助左右摇摆?
这对我来说似乎可以解释。我会基于此做出决定——你是否应该期望 gadget
总是有一个 widget
的集合(即使是空的)?如果是这样,我会使用 200
响应和一个空列表,否则 404
需要某种 PUT
或 POST
来初始化集合。
换句话说,如果您的资源包含 link 到其他资源,您的 gadget
资源是否应该始终有一个 link 到相关的 widget
,如果是的话,哪个可能是空的?