Ответ 1
Это вам. Все подходы отлично смотрятся с точки зрения REST.
В соответствии с диссертацией Роя Томаса Филдинга * любая информация, которую можно назвать, может быть ресурсом:
5.2.1.1 Идентификаторы ресурсов и ресурсов
Ключевая абстракция информации в REST - это ресурс. Любая информация, которая может быть названа, может быть ресурсом: документ или изображение, временная служба (например, "сегодня погода в Лос-Анджелесе" ), коллекция других ресурсов, не виртуальный объект (например, человек) и т.д., Другими словами, любое понятие, которое может быть объектом гипертекстовой ссылки автора, должно соответствовать определению ресурса. Ресурс представляет собой концептуальное сопоставление с набором объектов, а не с сущностью, которая соответствует отображению в любой конкретный момент времени. [...]
При использовании /me
, /users/me
, /users/myself
, /users/current
и аналогий у вас есть локатор для аутентифицированного пользователя, и он всегда будет идентифицировать концепцию аутентифицированного пользователя, независимо от того, какой пользователь аутентифицирован.
Для большей гибкости вы также можете поддерживать /users/{username}
.
Кстати, аналогичная ситуация была рассмотрена в Использует ли идентификаторы ресурсов магии (me/self), идущие против принципов REST?
* Если вы заинтересованы в REST, глава 5 Филдинг-диссертации является обязательным для чтения.