Задать вопрос
@semolex

Как комбинировать обьекты c RESTful API с помощью Angular?

Всем привет!
Сейчас попытаюсь обьяснить ситуацию:
Есть REST Api, которое отдает все обьекты (Python Flask) в таком виде:
"/catalogues/<_id>" - возвращает обьекты из каталога по айди
"/catalogues/" - возвращает все обьекты из каталога по айди
"/items/<_id>" - возвращает все обьекты, которые лежат в каталоге
"/items/" - возвращает обьекты которые лежат в каталоге по айди


Так вот, пример ответа из /catalogues/<_id>:
{catalog_image: 4, catalog_name: 1, id: 1, items: 1, object_name: "M31"} ,
{catalog_image: 3, catalog_name: 1, id: 2, items: 2, object_name: "M45"}

где например items содержит в себе айди обьекта item.
пример item:
{name: "My Item", id: 1"}
Так вот, как мне сделать так, чтоб я мог комбинировать эти запросы, тоесть получил обьект вида
{catalog_image: 3, catalog_name: 1, id: 2, items: My Item, object_name: "M45"}
??
Или наиболее простой вариант - комбинировать все на бэкенде, выборкой из базы данных (JOINom)...но тогда теряется идея РЕСТ...
  • Вопрос задан
  • 200 просмотров
Подписаться 2 Оценить Комментировать
Решение пользователя Александр Кондауров К ответам на вопрос (3)
@kondaurov
Full stack developer
Вопрос относится полностью к backend, а точнее к rest сервису

Тут есть два варианта:
1. Вы делаете отдельный роут по которому будете отдавать все каталоги с объектами и их связями
2. Можно сделать api гибче и дать возможность указывать связи которые нужно прикрепить с помощью параметров.
jsonapi.org/format/#fetching-relationships

Я пока использую первый вариант, второй вариант чуть сложнее и требует больше времени чтобы разобраться

Или наиболее простой вариант - комбинировать все на бэкенде, выборкой из базы данных (JOINom)...но тогда теряется идея РЕСТ...

Не нужно пользоваться Rest ради Rest. Нужно чтобы api отдавала нужную вам информацию в нужном виде а не соответствовала идейным представлениям. Rest нужен для CRUD операций с ресурсами в основном

У меня пока все просто: Я создаю ресурсы и делаю CRUD роуты по
Ответ написан
Комментировать