Наименование ресурса REST для уникального ресурса - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть ресурс, который представляет собой совокупность всего, что доступно текущему (прошедшему проверку подлинности) пользователю.Давайте назовем это Workspace.

Учитывая, что всегда есть один и только один Workspace на пользователя :

Должен ли я применять соглашение о «множественном числе»?Если да, я должен создать поддельный подресурс, чтобы указать, что он уникален?

Другими словами, я должен использовать:

  • /workspace -> Текущее рабочее пространство пользователя

Или

  • /workspaces/~ -> Текущее рабочее пространство пользователя
  • /workspaces -> 404

Дляс точки зрения пользователя, имеет смысл иметь один уникальный /workspace ресурс.Однако с системной точки зрения существует много рабочих пространств, но только по одному на пользователя, поэтому /workspaces/~ выглядит более логичным.

1 Ответ

0 голосов
/ 07 февраля 2019

Здесь нет никаких сложных и быстрых правил.Я бы сказал, использовать то, что будет иметь смысл для вашего конечного пользователя, и, предпочтительно, это согласуется с тем, что вы делаете в другом месте.

Например, есть и другие адреса, которые приходят на ум, в зависимости откак работает ваш сайт.Если рабочее пространство привязано к пользователю, то, возможно, имеет смысл иметь его по адресу /users/{id}/workspaces.Может быть, это не имеет смысла для вашего случая, хотя.Поэтому среди предложенных вами вариантов я бы сказал, если для клиента очевидно, что должно быть несколько рабочих пространств, но у них есть доступ только к одному, тогда адрес /workspaces/{id} будет соответствовать этой модели.Если им кажется, что рабочее пространство является уникальной сущностью, то наличие адреса множественного числа может сбивать с толку.

В моих собственных проектах я склонен ошибаться в направлении использования множественного числа для всего.

...