REST路由向用户添加跟随者或类似者的最佳实践

REST路由向用户添加跟随者或类似者的最佳实践,rest,Rest,假设我有一个用户,他们可以跟随其他用户,并且假设我正在传递一个带有登录用户凭据的令牌,这对于“用户跟随另一个用户”的路由来说是更好的最佳实践 POST/User/{userId}/follow 发布数据:userIdToFollow (其中我检查userId==authToken.userId) vs PUT/User/{userId}/follow/{personToFollowUserId} vs 发布/用户/跟踪 发布数据:userIdToFollow (我只是从auth令牌推断出用户ID

假设我有一个用户,他们可以跟随其他用户,并且假设我正在传递一个带有登录用户凭据的令牌,这对于“用户跟随另一个用户”的路由来说是更好的最佳实践

POST/User/{userId}/follow

发布数据:userIdToFollow

(其中我检查userId==authToken.userId)

vs

PUT/User/{userId}/follow/{personToFollowUserId}

vs

发布/用户/跟踪

发布数据:userIdToFollow

(我只是从auth令牌推断出用户ID)

我会发布:


POST/user/follow/UserIdToFollow

登录用户的UserId可以从auth令牌中获取,因此包含登录用户id是多余的

PUT用于更新记录,因此,除非您专门存储一个用户没有关注另一个用户帖子的事实,否则更正确


通过这种方式,您可以发布以创建follow,然后再展开follow,您可以将其删除到相同的URL。

如果您正在努力实现RESTful系统,您应该将端点看作是由名词而不是动词构建的。我建议两者都可以

POST /users/27/followers
{ "userId": 45 }

POST /followers
{ "followerUserId": 45, "followeeUserId": 27 }