У многих API есть ресурсы, в которых значение изменяется в зависимости от аутентифицированного пользователя (см. API GitHub ).
Когда дело доходит до REST, конечная точка всегда должна ссылаться на тот же ресурс. Однако вы можете представлять этот ресурс любым способом, которым вы sh. Маскировка некоторых предложений, поскольку пользователь не является администратором, не изменила ресурс , только представление, которое вы даете этому пользователю .
В то время как спецификация REST не изменяет У вас нет каких-либо конкретных c примеров изменения представлений из-за авторизации, но это все же стоит прочитать.
Если вы обеспокоены неявным изменением представления, есть несколько доступных вариантов, которые сделают его более явным, хотя все еще следуя стандартам RESTful.
Вы можете добавить параметр запроса, который явно запрашивает только предложения текущего пользователя: /offers?show=mine
.
Если предложения являются «владельцем» пользователя, вы также можете сделать что-то вроде: /users/{username}/offers
. Здесь пользователь будет авторизован только для своих предложений. Администратор, конечно, будет авторизован для любого.
В целом, ключевой момент таков: конечная точка всегда должна представлять один и тот же ресурс, но как он представляет, решать вам.