REST API 多个资源的命名约定
REST API naming convention for multiple resources
我正在研究 REST API,我想知道 returns 两种不同类型对象的端点的命名约定应该是什么。在这个人为设计的示例中,我接到一个调用来获取电影(通过 ID),另一个调用来获取与特定电影关联的演员。
this.app.get('/movies/:id', moviesCtrl.getMovie);
this.app.get('/movies/:id/actors', moviesCtrl.getMovieActors);
我的问题是,returns 电影和演员的调用路径应该是什么(即电影的 JSON 但还附加了一个列表数组演员)?
this.app.get('/movie-actors/:id', moviesCtrl.getMovieWithActors);
现在我得到了全貌。所以我会选择下一个名字:
- 没有演员的电影:
/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
我正在研究 REST API,我想知道 returns 两种不同类型对象的端点的命名约定应该是什么。在这个人为设计的示例中,我接到一个调用来获取电影(通过 ID),另一个调用来获取与特定电影关联的演员。
this.app.get('/movies/:id', moviesCtrl.getMovie);
this.app.get('/movies/:id/actors', moviesCtrl.getMovieActors);
我的问题是,returns 电影和演员的调用路径应该是什么(即电影的 JSON 但还附加了一个列表数组演员)?
this.app.get('/movie-actors/:id', moviesCtrl.getMovieWithActors);
现在我得到了全貌。所以我会选择下一个名字:
- 没有演员的电影:
/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