我的API上有这样的终点:
GET: /users/:user_id/playlists
GET: /users/:user_id/playlists/:playlist_id
第一个终点返回单个用户的所有播放列表,与第二个终结点一样,为用户返回单个播放列表。我的问题是,是否必须有用户/:user_id或者只是留下:
/playlists
/playlists/:playlist_id
哪个更好?
如果我这样离开,我正在考虑从帖子表单中获取user_id ...
这个问题的子问题,如果ex的客户端登录并发出请求并尝试更改user_id,那么他将为其他一些用户获取数据,如何从我的API中阻止这些事情呢?
答案 0 :(得分:0)
您应该离开/ users /:user_id,因为您可以从此端点返回有关用户的其他信息,并在将来引入新的端点。
/users/:user_id (main endpoint returning data about user)
/users/:user_id/playlists
/logins (this is example, you leave possibility of flexible design)
答案 1 :(得分:0)
你应该
/users/:user_id/playlists
然后链接到其中的多个:
/playlists/:playlist_id
这样,你就不需要进行嵌套了。
请注意
/playlists
将显示所有播放列表,而不仅仅是一个用户。