В нашей системе есть учетные записи, содержащие элементы. Элемент всегда связан с одной учетной записью, но также имеет глобальный уникальный идентификатор в системе. Иногда желательно работать с элементом, когда известен только его идентификатор.
Неправильно ли разрешать доступ к подчиненному ресурсу (элементу) вне его владельца (учетной записи)? Другими словами, неправильно ли иметь 2 URI одного и того же ресурса? Это немного сложно объяснить, поэтому вот пример:
POST /inventory/accountId
#Request Body contains new item
#Response body contains new item 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