在设计资源层次结构时,什么时候应该使用子资源?
我曾经相信,当一个资源没有另一个资源就无法存在时,它应该被表示为它的子资源。我最近遇到了这个反例:
- 员工在所有公司中都是唯一可识别的。
- 员工的访问控制和生命周期取决于公司。
我将其建模为:/companies/{companyName}/employee/{employeeId}
请注意,我不需要查找公司来查找员工,我应该这样做吗?如果我这样做了,我就要付出代价来查找我不需要的信息。如果我不这样做,此 URL 会错误地返回 HTTP 200:
/companies/{nonExistingName}/employee/{existingId}
- 我应该如何表示一个资源属于另一个的事实?
- 我应该如何表示没有另一个资源就无法识别的事实?
- 子资源意味着什么关系而不意味着建模?