RESTful API设计网址

时间:2015-03-28 16:40:55

标签: api rest

我的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中阻止这些事情呢?

2 个答案:

答案 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

将显示所有播放列表,而不仅仅是一个用户。