当没有 children 时,表示集合的端点应该 return 404 吗?

Should endpoints that represent collections return 404 when no children?

我有一个基于 REST 的 API,其中 gadgetwidget 与之关联。

问题是如果当前没有特定 gadgetwidget 应该怎么办?一种解释是 return 状态码 404,另一种解释是 return 200 有一个空列表。

有没有更好的方法?或者我们遗漏的问题是否有细节可以帮助左右摇摆?

这对我来说似乎可以解释。我会基于此做出决定——你是否应该期望 gadget 总是有一个 widget 的集合(即使是空的)?如果是这样,我会使用 200 响应和一个空列表,否则 404 需要某种 PUTPOST 来初始化集合。

换句话说,如果您的资源包含 link 到其他资源,您的 gadget 资源是否应该始终有一个 link 到相关的 widget,如果是的话,哪个可能是空的?