REST嵌套资源的最佳做法是什么?
据我所知,每个单独的资源应该只有一条规范路径。因此,在以下示例中,好的URL模式将是什么? 以公司的其余代表为例。在此假设示例中,每个公司拥有 0个或多个部门,每个部门拥有 0个或多个员工。 没有关联公司就不可能存在部门。 没有相关部门,员工就不会存在。 现在,我将找到资源模式的自然表示形式。 /companies 公司集合 -接受为新公司投入的资金。获取整个收藏集。 /companies/{companyId}一家个人公司。接受GET,PUT和DELETE /companies/{companyId}/departments接受新项目的POST。(在公司内创建部门。) /companies/{companyId}/departments/{departmentId}/ /companies/{companyId}/departments/{departmentId}/employees /companies/{companyId}/departments/{departmentId}/employees/{empId} 在每个部分都有这些限制的情况下,我觉得如果嵌套得很深,这是有意义的。 但是,如果要列出(GET)所有公司的所有员工,就会遇到困难。 资源模式将最紧密地映射到/employees(所有员工的集合) 这是否意味着我/employees/{empId}也应该拥有,因为如果是这样,那么有两个URI可以获取相同的资源? 或可能应该将整个架构展平,但这意味着员工是嵌套的顶级对象。 从根本/employees/?company={companyId}&department={deptId}上讲,与最深层的嵌套模式一样,返回的员工视图完全相同。 URL模式的最佳实践是什么,其中资源由其他资源拥有,但应该可单独查询?