REST API ROUTE PATHS - лучший метод для аутентифицированного ресурса? - PullRequest
0 голосов
/ 16 февраля 2020

У меня есть API, созданный с Laravel, который работает с токенами аутентификации (паспортный пакет). Мне неясно, какой должна быть лучшая практика для ресурсов, к которым осуществляется доступ в аутентифицированном сеансе.

Позвольте мне объяснить.

Допустим, я хотел бы видеть заказы пользователя в качестве администратора, я посещаю: /v1/users/5/orders и все заказы отображаются для пользователя с идентификатором 5.

Но теперь пользователь с ID 5 аутентифицирован. Каким должен быть URL для доступа к его собственному ресурсу заказов?

Это будет: /v1/users/5/orders (и проверьте, принадлежит ли он администратору или сеансу пользователю с идентификатором 5)

ИЛИ /v1/my/orders

ИЛИ /v1/my-orders

ИЛИ /v1/orders (и использовать идентификатор сеанса пользователя 5, - ИЛИ выводить список всех результатов, когда администратор)

Это просто сбивает с толку, когда на одном и том же URL заказы могут быть перечислены, потому что администратор хочет получить к нему доступ. Или пользователь сеанса хочет их видеть.

1 Ответ

0 голосов
/ 16 февраля 2020

Я бы предложил использовать /v1/orders, который будет отображать коллекцию заказов на основе привилегий: - все заказы в случае сеанса администратора - заказы, принадлежащие аутентифицированному пользователю, в случае менее привилегированного пользователя.

Добавление префикса типа /my/orders или my-orders не приносит никакого значения.

Для вложенных коллекций я бы сохранил маршрут /v1/users/5/orders, который позволит администратору получать доступ к заказам пользователей.

Это довольно хороший учебник, который объясняет именование ресурсов API: https://restfulapi.net/resource-naming/

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