Принципы взаимодействия фронта и бэка
Два года назад я начал переводить древнюю систему автоматизации процессов деятельности нашей организации на современные веб-рельсы. Выбрал стек: отдельный фронт на Вью - REST Api - бэк на Ларавеле. Багаж знаний был обременен только десктопными языками, поизучал технологии. Набросал приложение, и осознал, что то, как я его делаю весьма расходится с рекомендациями. Объясните мне пожалуйста, в чем я не прав.
В классическом варианте в бэке прописывается роут, на каждую таблицу делается модель и контроллер. Во фронте, например аксиосом обращаюсь к роуту, он меня пересылает к нужному контроллеру, который в зависимости от того, что мне нужно, оперирует с моделью.
У меня в приложении используется несколько десятков таблиц. Соответственно нужно такое же количество моделей и контроллеров с однотипным содержимым (стандартные пять методов), отличающимся только набором полей. Это так муторно и бессмысленно!
Что я сделал: во фронте реализовал в формате json описание таблиц (tableName, fields(name,type) и т.д.) и набор интерфейсов соответствующих полям таблиц. Реализовал модуль workWithBack, и с помощью его методов получаю, например по id объект нужного типа сразу во фронте (заодно и привожу кейсы названий из дб-шных в js-сные). Вызываю метод save, передаю туда объект таблицы и он сохраняется в базе. На бэке реализовал универсальный контроллер, на основе присылаемой информации из фронта (наименование операции, информацию таблицы) он, используя Query Builder, отрабатывает запрос.
Это напоминает самопальный GraphQL, я бегло ознакамливался с ним, но как мне показалось после поверхностного изучения, здесь придется описывать схемы в коде. У меня же во фронте активно используются динамический конструктор форм и отчетов. И схемы запросов создаются во время работы приложения, мне показалось что с GraphQL-ом так работать нельзя (или я ошибаюсь?).
Мне кажется своей порядок взаимодействия фронта и бэка гораздо более удобней, чем традиционный вариант. Но меня смущает, что нигде больше я не натыкался на подобный способ их общения и меня терзают смутные сомнения, а не облажался ли я в чем-то? Уважаемые гуру веб технологий направьте пожалуйста на путь истинный.