В нашей системе есть учетные записи, которые содержат элементы. Элемент всегда связан с одной учетной записью, но также имеет глобально уникальный идентификатор в системе. Иногда желательно работать с элементом, когда известен только его идентификатор.
Неправильно ли разрешать доступ к подчиненному ресурсу (предмету) извне его владельца (учетной записи)? Другими словами, неправильно ли иметь 2 URI для одного и того же ресурса? Это немного сложно объяснить, поэтому вот пример:
POST /inventory/accountId
#Request Body contains new item
#Response body contains new item's id
GET|PUT|DELETE /inventory/accountId/guid #obviously works and makes sense
GET|PUT|DELETE /inventory/guid #does this make sense?
Возможно, мне следует переосмыслить структуру ресурсов и не использовать учетные записи для создания элементов, а вместо этого использовать учетную запись в качестве параметра строки запроса или поля элемента?
POST /inventory
# Request body contains item w/ account name set on it
GET|POST|DELETE /inventory/uuid #makes sense
GET|POST|DELETE /inventory/accountId/uuid #not allowed