RESTful 设计似乎提倡平面或浅层结构化表示(至少当资源表示为 XML 时)。资源表示应该只包含 URI 标识的资源。我想知道何时在父资源中呈现资源的子资源是明智的?
详细地说,考虑一下:公司可能有多名员工。通常这种情况可能会被设计为两个独立的资源,公司和员工,其中员工将是公司的子资源。
/company/acme/
/company/acme/employees/
/company/acme/employee/john
使用这种 URI 设计,公司表示应该包括到其员工的链接,但 XML 表示可能不包括员工本身。
因此,什么时候通过父项呈现子项才有意义?是否存在仅通过其父项呈现子项的情况。我的意思是根本没有子项目的 URI。只能通过父资源访问它们。
<company>
<name>Acme</name>
<employees>
<employee>John</employee>
<employee>Jack</employee>
</employees>
</company>
只提供一种访问资源的方法是否明智:如果父项公开其子项,是否也可以有子项的显式 URI?那么,如果公司的 XML 包含公司的员工,那么提供 /company/acme/employees URI 是否有意义,尽管您可以通过公司资源获取相同的信息?