Спокойный дизайн GetAll, GetMine, GetForUID - PullRequest
0 голосов
/ 01 апреля 2019

У нас есть пара ресурсов, которые могут принадлежать конкретному пользователю. Нам нужно решить 3 варианта использования:

  1. Получите все ресурсы независимо от владельца
  2. Получить ресурсы, которые принадлежат мне
  3. Получить все ресурсы, которые принадлежат конкретному пользователю

Как лучше всего выразить эти конечные точки RESTFully?

Ответы [ 2 ]

0 голосов
/ 01 апреля 2019

Это субъективное мнение, но именно так я и поступил бы:

/resource <- all resources
/resource/123 <- a specific resource
/user/1234/resource

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

/current-user <- might be a 302 redirect to /user/####
0 голосов
/ 01 апреля 2019

Я не уверен, что лучший вариант , но one :

  1. Получите все ресурсы независимо от владельца: GET /api/v0/resources
  2. Получить ресурсы, которые принадлежат мне GET /api/v0/users/me/resources
  3. Получить все ресурсы, которые принадлежат конкретному пользователю GET /api/v0/users/<uid>/resources

Обратите внимание, что me является предположительно особенным uid в этом контексте. Вы можете объединить опции 2 и 3 в опции 3, если вы можете заменить /users/me/ на /users/<id of me>/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...