Ваш пример - совершенно правильный подход.Однако во многих случаях User
может существовать вне контекста просто entity
.Я склонен идентифицировать ресурсы по отдельности, например:
/entity/1
/user/5
Чтобы увидеть пользователей, связанных с сущностью, я бы использовал:
/entity/1/users
Добавление пользователя может быть выполнено путем размещения пользователя,
POST /entity/1/users
<User>
...
</User>
Удаление пользователя будет
DELETE /User/5
Обновление или создание пользователя можно выполнить с помощью PUT
PUT /User/6
Удаление ассоциации между пользователем и пользователем.сущность требует немного творчества.Вы можете сделать
DELETE /Entity/1/User/5
, как вы предложили, или что-то вроде
DELETE /Entity/1/UserLink?UserId=5
или просто
DELETE /Entity/1/Users?UserId=5
Это реальность не очень важна для пользователя вашегоAPI, как выглядит ваш URI.Хорошо быть последовательным для собственного здравого смысла, хорошо выбирать схемы, которые легко отправлять с вашей серверной средой, но важно не то, как выглядят ваши URI, а то, что вы делаете с ними.