这一讲讲解的是与用户相关的API。
请求当前用户的账户信息
端点为GET /api/user
,需要验证信息,返回一个User对象,包含当前用户的账户信息。实例如下:
{
"user": {
"email": "jake@jake.jake",
"username": "jake",
"bio": "I work at statefarm",
"image": null,
"token": "jwt.token.here"
}
}
与上一讲中登录成功的情况相同,包括除密码之外的所有用户信息(后端任何情况下都不能返回用户的密码),外加JWT token。
修改当前用户的账户信息
端点为PUT /api/user
,需要验证信息,返回修改后的User对象。
请求体应该满足如下格式:
{
"user":{
"email": "jake@jake.jake",
"bio": "I like to skateboard",
"image": "https://i.stack.imgur.com/xHWG8.jpg"
}
}
"user"
对象接受的字段包括:"username"
,"email"
,"password"
,"image"
,"bio"
,对应用户的所有账户信息。
用户公开信息的对象
为了允许用户查看其他人的公开信息及进行其他相关操作,我们先需要为用户的公开信息定义一个JSON对象,称为Profile对象。实例如下:
{
"profile": {
"username": "jake",
"bio": "I work at statefarm",
"image": "https://static.productionready.io/images/smiley-cyrus.jpg",
"following": false
}
}
两点值得注意的地方:
- 邮箱不是公开信息
-
"following"
这一字段有可能存在有可能不存在(详情见下)
查看用户的公开信息
端点为GET /api/profiles/:username
,返回如上的Profile对象。当请求含有合法的验证信息时,该对象含有"following"
字段,描述当前用户是否关注了所查看的用户;否则不含。
关注其他用户
关注及取消关注其他用户的API也与用户公开信息相关。
关注其他用户的端点为POST /api/profiles/:username/follow
,需要验证信息,返回被关注者的Profile对象。
取消关注其他用户
端点为DELETE /api/profiles/:username/follow
,需要验证信息,返回被取消关注的用户的Profile对象。
重复的请求会收到404响应。
网友评论