Соглашение об именах API REST для нескольких ресурсов - PullRequest
0 голосов
/ 07 июня 2018

Я работаю над REST API и мне интересно, каким должно быть соглашение об именах для конечной точки, которая возвращает два разных типа объектов.В этом надуманном примере я получил вызов, чтобы получить фильм (по идентификатору), а другой - актеров, связанных с конкретным фильмом.

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 голосов
/ 07 июня 2018

Теперь я получаю полную картину.Поэтому я хотел бы пойти со следующими именами:

  1. Фильмы без актеров: /movies/:id
  2. Фильмы с актерами: /actors/movies/:movieId или movies_with_actors/:movieId
  3. Только актеры: /movies/:id/actors

Или вы можете объединить 1-ю и 2-ю конечные точки и создать логический параметр /movies/:id?actors=true и /movies/:id?actors=false

Но это всего лишь вкусовые предпочтения.Основная идея: путь должен быть осмысленным.И главное правило это GET /movies - get all Get /movies/:id - get one

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...