多个资源的REST API命名约定

时间:2018-06-07 07:20:03

标签: node.js rest naming-conventions

我正在研究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);

1 个答案:

答案 0 :(得分:2)

现在我全面了解情况。所以我会选择下一个名字:

  1. 没有演员的电影:/movies/:id
  2. 有演员的电影:/actors/movies/:movieIdmovies_with_actors/:movieId
  3. 只有演员:/movies/:id/actors
  4. 或者您可以组合第一个和第二个端点并创建布尔参数/movies/:id?actors=true/movies/:id?actors=false

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