Как спроектировать / запросить отношения многие ко многим в REST API? - PullRequest
0 голосов
/ 26 августа 2018

Я пытаюсь разработать REST API для использования react SPA, который запрашивает данные об отношениях между двумя сущностями: Team и Player, где Player может принадлежать только одному Team.

Я хочу запросить все Team с и затем получить все Player с для каждой команды.

Я вижу 3 основных подхода :

  1. Разверните конечную точку /teams, чтобы получить некоторый параметр ?expand=player или что-то подобное, включая массив игроков для каждой команды .Данные возвращаются хорошо, чтобы быть использованными приложением реагировать, но теперь конечная точка API REST становится более сложной и менее совместимой с принципом единой ответственности.

  2. Запрос /teams чтобы получить идентификаторы всех команд и затем запросить каждую команду /team/:id/players.Но это увеличит количество запросов к бэкэнду, хотя разделит обязанности лучше и сделает вещи более явными.

  3. Запрос /teams для получения идентификаторов всех команда затем запрос /players/:ids, где :ids - это идентификаторы всех команд .Это также довольно явно, но может привести к огромному URL и не будет хорошим и аккуратным.

Каков наилучший способ сделать это?

...