У меня есть приложение, которое использует REST API.Этот оставшийся API извлекает данные из базы данных SQL с двумя таблицами A и B. Таблица B имеет внешний ключ к таблице A.
Что я хочу получить от приложения: получить определенные B, а также получить все связанныезаписи A;те, к которым B имеет внешний ключ.
В настоящее время я создал API для извлечения этих определенных B.Но это только возвращает Bs.Я планировал:
- Из приложения извлечь определенные B, а после этого сделать второй вызов API api отдыха, чтобы получить все связанные как.Затем мне нужно сопоставить эти Bs с As в приложении.
С точки зрения REST, который кажется нормальным.Но мне было интересно, что было бы лучше просто сделать один вызов API отдыха, который будет вызывать все B, и вместе с ними также связанные как?Я полагаю, что для этого потребуется выполнить ВНУТРЕННИЕ СОЕДИНЕНИЯ для таблицы SQL?
Кроме того, этот второй вариант не выглядит таким хорошим с точки зрения REST.Потому что нет такой сущности, как B с A. Есть только As и B.И я хочу прояснить REST API для извлечения сущностей.
Итак, какое из них будет лучшим решением в моем случае?Я использую POSTGRESQL в качестве базы данных.Если вам нужна дополнительная информация о деле (например, сколько записей и т. Д. Просто спросите, я могу подумать о них)
РЕДАКТИРОВАТЬ:
Мои 2 варианта:
С 2 запросами SQL: SELECT * FROM table_B WHERE id = ?
& SELECT * FROM table_A WHERE id IN (id_1, id_2, id_3, ...)
Для этого требуется 2 вызова API, при этом первый вызовет первый запрос sql, а второй - второй запрос sql
С 1 запросом SQL:
select b.*, a.*
from b join
a
on b.? = a.?
where b.? in (?, ?, ?, . . .);
Для этого потребуется только 1 вызов API, 1 запрос SQL.Но компромисс в том, что мне нужно сделать sql join + это не так RESTfull в отношении ресурсов.