代表集合的端点应该在没有子节点时返回404吗?

时间:2015-10-20 18:59:12

标签: api rest architecture

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

  • gadget/api/gadget/123
  • widget s:/api/gadget/123/widgets

问题是如果特定widget目前没有gadget,会发生什么?一种解释是返回状态代码404,另一种解释是返回带有空列表的200

有更好的方法吗?或者是否存在我们所遗漏的问题的细节问题,这有助于影响其中一个?

1 个答案:

答案 0 :(得分:1)

这对我来说似乎有些解释。我会根据这个决定 - 你是否希望gadget总是有一个widget的集合(即使是空的)?如果是这样,我会使用200响应和空列表,否则404需要某种PUTPOST来初始化集合。

换句话说,如果您的资源要包含指向其他资源的链接,那么您的gadget资源是否始终包含指向相关widget的链接,如果可能为空?