Структура данных на фронт-енде и бек-енде отличаются. Кто должен переделывать?

При разработке модуля системы произошло несоблюдение контракта.
Фронт-енд работает с сущностями без вложенных подсущностей, но бек-енд принимает их только в таком формате. На фронте данные построены так, чтобы было удобно рендерить, а на бек-енде - для запросов в БД.

export interface someEntity {
  prop: string;
  someMoreProp: string;
  someArr: string[]
}

export interface someBackendEntity {
  prop: string;
  someBackArr: [{
    someMoreProp: string;
    someArr: []
}]
}


Должны ли данные приходить на фронт в нужном формате или их необходимо map-ать перед каждым обращением к серверу (на самом деле вложенный foreach - что выглядит как-то слишком мудрено для простого запроса)?
  • Вопрос задан
  • 1065 просмотров
Пригласить эксперта
Ответы на вопрос 2
@abmanimenja
На фронте данные построены так, чтобы было удобно рендерить, а на бек-енде - для запросов в БД.

А между ними - API - в котором данные должны быть в виде удобном взаимопонимания.
Как договоритесь, как удобнее.

Что там во фронтенде, что там в бэкенде - это их внутренние дела.
Единственная точка взаимодействия - API.
Вот этот формат и оговаривается.
Ответ написан
@EvgeniiR
https://github.com/EvgeniiR
Выкиньте бэкендеров и воспользуйтесь каким-нибудь serverless решением если они просто прослойка перед базой и не умеют даже данные в формат отличный от таблички для write модели конвертить
Удобство это по сути главное требование к API, а проблемы Бэкенда должны оставаться на бэкенде.

P.s. а ещё лучше прикинуть costs/benefits вместо непродуктивных споров
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы