我正在研究REST API,我想知道返回两种不同类型对象的端点的命名约定是什么。在这个人为的例子中,我有一个电影(通过ID)和另一个电影来获得与特定电影相关的演员。
this.app.get('/movies/:id', moviesCtrl.getMovie);
this.app.get('/movies/:id/actors', moviesCtrl.getMovieActors);
我的问题是,应该是一个返回电影和演员的调用的路径(即电影的JSON,还附加一个演员列表的数组)?
this.app.get('/movie-actors/:id', moviesCtrl.getMovieWithActors);
答案 0 :(得分:2)
现在我全面了解情况。所以我会选择下一个名字:
/movies/:id
/actors/movies/:movieId
或movies_with_actors/:movieId
/movies/:id/actors
或者您可以组合第一个和第二个端点并创建布尔参数/movies/:id?actors=true
和/movies/:id?actors=false
但这只是一种口味偏好。主要思想:路径应该是有意义的。主要规则是GET /movies - get all
Get /movies/:id - get one