Вы не хотите выполнять пользовательские сопоставления, но, учитывая, что API остальных может потребоваться изменить, подумайте о том, что это значит, если вы полагаетесь на результаты API напрямую, как они есть.
То естьу вас есть результат API:
{
name: 'Ryan',
title: 'Developer'
gender: 'M',
birthDate: '01-01-1984',
employeeCode: '0123156'
}
Таким образом, вы используете это по всей разметке с кучей вещей вроде:
<label data-bind="text: user.employeeCode"></label>
У вас есть полеимена, написанные по всей разметке в сотнях местВы полагаетесь на них в вычисляемых наблюдаемых, функциях, и так далее, и так далее.У вас 100% жесткая зависимость от этого API.
Если бы этот API-интерфейс был изменен или заменен и имел другой формат для возвращаемых данных, у вас был бы полный разрыв приложения и вам пришлось быисправьте так много всего.
С другой стороны, если у вас есть js-файл сервисного слоя, который создает экземпляры пользовательских объектов для результатов API, все, что вам нужно изменить, - это сервисный уровень.
Вы можете легко переключать API, и вам не нужно менять какие-либо ваши наблюдаемые, привязки пользовательского интерфейса и так далее.Вы создали связующий слой между приложением и его внутренними данными, и вы можете поменять местами связи, чтобы изменить весь бэкэнд.
Я знаю, что это не ответ на ваш вопрос, но я бы подумал, что вы apiстратегия отображения результатов или принять ее во внимание.