【问题标题】:user likes in a RESTful API用户喜欢 RESTful API
【发布时间】:2018-03-21 17:57:15
【问题描述】:

您如何处理用户“喜欢” RESTful API 中的帖子或对象,以便他们只能喜欢一次?您是否创建了多对多关系并创建端点来检查用户是否喜欢您加载的每个对象的对象?这似乎要求很高,我想知道是否有更好的、成熟的解决方案?

【问题讨论】:

  • 只需将userId添加到点赞用户列表中,每次点赞,由于他的名字已经添加,所以不会增加。
  • 所以你会做类似多对多关系的事情,保持一个包含“post id”和“user id”列的表?
  • 我认为它是一对多,一个帖子很多喜欢(用户)。
  • 你认为如果我有这种类型的关系,使用 mongodb 是否值得,或者 postgres 是否足够?
  • 数据库无关紧要,最终你的设计才是最重要的。所以选择你觉得舒服的那个

标签: rest


【解决方案1】:

假设用户必须经过身份验证才能执行请求,并且请求包含要正确验证的所有详细信息,您可以考虑以下方法:

  • POST /posts/:postid/likes:在帖子中为给定 id 的用户记录点赞。

  • GET /posts/:postid/likes:返回具有给定 id 的帖子的所有喜欢的表示形式。

  • DELETE /posts/:postid/likes/:userid:删除帖子中具有给定 id 的用户的点赞。

【讨论】:

  • DELETE 会删除 所有 喜欢的帖子吗?
  • @LutzHorn 好地方。 /posts/:id/likes URI 标识特定帖子的喜欢的集合。该 URI 中的 DELETE 操作表示对整个集合的删除操作。可以引入用户标识符来识别集合中的单个点赞。
  • 迟到总比没有好:-)
  • 如果设置了授权头,则删除和发布请求不需要用户标识符。
猜你喜欢
  • 2017-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-03
  • 2019-10-06
  • 1970-01-01
  • 2012-08-18
相关资源
最近更新 更多