2016-10-09 2 views
0

Скажем, у меня есть торговый счет «У нас есть типичные /api/v1/merchantaccountPOST, PUT и DELETE.Модель REST service

У каждого торговца может быть несколько пользователей. Это пользователи торговца, такие как: администраторы, клерки, сотрудники, НЕ покупатели торговца.

ли я создать коммерсант пользователя конечной точки в: /api/v1/merchantaccount/user и предложить PUT, POST, DELETE

Или я реализую полный отдельный сервис: /api/v1/merchantuser

Кроме того, когда я проверить подлинность торгового пользователя я должен создать отдельный конечной точки или сохранить то же самое?

/api/v1/merchantaccount/user/authenticate

против

/api/v1/merchantuser/autneticate

+0

Оба пути в порядке. Аутентификация не должна создавать сеанс на стороне сервера. – inf3rno

+0

Возможно, мне нужно немного разобраться. Пути должны продемонстрировать, что я должен физически отделяться как 2 service/api или просто 1. Я иногда чувствую, что REST добирается до мелкозернистого нуля – user432024

ответ

0

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

  1. Имя конечной точки (ресурса): если это единственный пользователь, связанной с ресурс/конечная точка, что ваш API будет иметь, а затем называть его User должно быть хорошо.
  2. Путь, к которому он может быть обращен: если сценарий варианта использования требует, чтобы пользователи переходили на сайт/api и логин, тогда нет причин для их прохождения через объект MerchantAccount (ссылка между продавец и пользователь, вероятно, установлены во время регистрации)
+0

Im используя uri, чтобы продемонстрировать, что я должен рассматривать как 2 отдельных физических api/apps/services , – user432024

+0

, смотрящий на [Модель уровня зрелости Ричардсона 1] (http://martinfowler.com/articles/richardsonMaturityModel.html#level1), я бы сказал, что «торговый» (учетная запись) и его «пользователи» - два разных объекты –

+0

Также, чтобы сделать эту связь между продавцом и пользователем, зачем проходить через 2 отдельных apis. Когда вы можете сделать это одним выстрелом? – user432024