Предоставить прямой доступ к вложенным ресурсам в запросе WEB API без указания родителей? - PullRequest
0 голосов
/ 10 мая 2018

Я разрабатываю web-api, который управляет объектами иерархии двух уровней: Group -> SubGroup.

  • Группа добавляется только по своим именам, и это уникальный идентификатор группы
  • Подгруппы добавляются только по их именам, а имя группы + имя подгруппы является уникальным идентификатором для подгруппы.
  • Подгруппа может «жить» только в контексте ееparent (группа).
  • И группа, и подгруппа имеют уникальные идентификаторы в системе (помимо имен).

У пользователя должна быть возможность получить определенные сведения о подгруппе.и я не уверен, должен ли я дать ему конечную точку, которая позволит ему получить к ней доступ напрямую.Я исследовал некоторые темы, но не получил хорошего ответа ( 1 , 2 , 3 )

У меня есть два варианта:

Опция 1:

создать конечную точку, которая позволяет пользователю получить доступ к подгруппе, только указав ее имя и имя родительской группы:

/ groups / subgroups? GroupName = "x" & subGroupName = "y"

Опция 2:

создать «прямой» доступконечная точка, которая позволяет пользователю получить доступ к подгруппе напрямую, без указания имени родительской группы, используя ее внутренний идентификатор (при создании подгруппы верните этот идентификатор), например:

/ subgroups? id = "52regfd235fdsf325f" (идентификаторподгруппа "у")

  1. Каков наилучший метод для этой ситуации?нормально ли добавлять конечную точку «прямого» доступа к вложенному ресурсу или этого следует избегать?например, что будет с конечной точкой удаления подгруппы?должен ли он быть идентифицирован по идентификатору подгруппы или по ее имени?
  2. В общем случае, когда мы имеем иерархии H1-> H2-> H3 -> ... Hn.Для того, чтобы попытаться получить доступ к последнему ресурсу в цепочке, каково здесь хорошее практическое правило?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...