RESTful API 设计 url

RESTful API design url

我的 API:

上有这样的终点
 GET:   /users/:user_id/playlists
 GET:   /users/:user_id/playlists/:playlist_id

第一个端点returns单个用户的所有播放列表与第二个相同returns一个用户的单个播放列表,我的问题是,是否一定要有用户/:user_id 或者像这样离开:

/playlists
/playlists/:playlist_id

哪个更好?

如果我这样离开,我正在考虑从 post 表格中取出 user_id...

这个问题的子问题,如果 ex 的客户端登录并发出请求并尝试更改 user_id,那么他将获取其他用户的数据怎么办,我该如何防止这些东西来自我的 API?

你应该离开 /users/:user_id,因为你可以从这个端点 return 其他关于用户的信息,并在将来引入新的端点。

/users/:user_id (main endpoint returning data about user)
/users/:user_id/playlists
/logins (this is example, you leave possibility of flexible design)

你应该

/users/:user_id/playlists

然后 link 到其中的多个:

/playlists/:playlist_id

这样就不需要嵌套了。

注意

/playlists

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