美文网首页
“真实世界”全栈开发-2.3-用户相关API

“真实世界”全栈开发-2.3-用户相关API

作者: 桥头堡2015 | 来源:发表于2018-02-04 10:11 被阅读10次

这一讲讲解的是与用户相关的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响应。

相关文章

网友评论

      本文标题:“真实世界”全栈开发-2.3-用户相关API

      本文链接:https://www.haomeiwen.com/subject/tdqmzxtx.html