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);

现在我得到了全貌。所以我会选择下一个名字:

  1. 没有演员的电影:/movies/:id
  2. 有演员的电影:/actors/movies/:movieIdmovies_with_actors/:movieId
  3. 仅限演员:/movies/:id/actors

或者您可以组合第一个和第二个端点并创建布尔参数 /movies/:id?actors=true/movies/:id?actors=false

但这只是口味偏好。主要思想:路径应该是有意义的。主要规则是 GET /movies - get all Get /movies/:id - get one