对于选择将个人资料设为私人的用户,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.)其他。
谢谢!