При разработке иерархии ресурсов, когда нужно использовать под-ресурсы?
Раньше я полагал, что, когда ресурс не может существовать без другого, он должен быть представлен как его под-ресурс. Недавно я столкнулся с этим встречным примером:
- Сотрудник уникально идентифицируется во всех компаниях.
- Контроль доступа сотрудников и жизненный цикл зависят от компании.
Я смоделировал это как: /companies/{companyName}/employee/{employeeId}
Заметьте, мне не нужно искать компанию, чтобы найти сотрудника, так и я? Если я это сделаю, я заплачу цену за поиск информации, которая мне не нужна. Если я этого не сделаю, этот URL-адрес ошибочно возвращает HTTP 200:
/companies/{nonExistingName}/employee/{existingId}
- Как я должен представить, что ресурс принадлежит другому?
- Как я могу представить, что ресурс не может быть идентифицирован без другого?
- Какие отношения представляют собой подресурсы, которые не предназначены для моделирования?