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
将显示所有播放列表,而不仅仅是一个用户的。
我的 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
将显示所有播放列表,而不仅仅是一个用户的。