A GET
пользовательский ответ для пользователя, который выбрал частный профиль, может выглядеть следующим образом:
Для самого пользователя , когда авторизован :
{
"id": 123,
"uuid": abcdef-12345,
"username":"myUserName",
"email":"name.surname@some-url.com",
"private_email_flag": true
}
Для неавторизованного пользователя :
{
"uuid": abcdef-12345,
"username":"myUserName"
}
, поскольку поле email
является закрытым, а параметры, такие как private_email_flag
, также должны быть закрытыми.
Как лучше всего предоставлять эти данные?
- Имеют одну конечную точку и возвращают только открытые поля для неавторизованных запросов и все поля для авторизованных.
- Используйте два разныхконечные точки, например:
/users/abcdef-12345
- конфиденциально - доступно только для авторизованных запросов /user-profiles/abcdef-123465
- общедоступно - доступно любому Или, с учетом более глубоких ресурсов, таких как статьи пользователя: /users/abcdef-12345/articles/ghijk-67890
- приватный - доступен только для авторизованных запросов /articles/ghijk-67890
- публичный - доступен любому
Или, может быть (3.) что-тоеще.
Спасибо!