Я хочу использовать декораторы Typescript, чтобы определить сопоставление параметров моего бэкэнд-сервиса / модели с параметрами внешнего интерфейса в моем проекте Angular.Я не могу изменить бэкэнд и не хочу использовать имена для моего кода веб-интерфейса.
Пример определения модели машинописного текста:
export class Person {
@Param('NAME1')
firstName: string;
@Param('NAME2')
lastName: string;
}
Данные, полученные из бэкэнда, выглядятвот так:
{
"NAME1": "John",
"NAME2": "Doe"
}
Теперь я хочу написать обработчик компилятора, который анализирует все эти @Param
декораторы и генерирует файл JSON с сопоставлениями:
{
"Person": {
"NAME1": "firstName",
"NAME2": "lastName"
}
}
Позже мои сервисыбудет использовать этот файл сопоставления для анализа ответов бэкэнда.
В бэкэнд-мире (Java, PHP и т. д.) это очень типичное использование аннотаций, то есть аннотации используются, как и выше, для определениясопоставления между таблицами базы данных / веб-сервисами и классами сущностей.
Как мне добиться этого с помощью Angular?Моя цель состоит в том, чтобы отображаемый файл JSON автоматически генерировался при вызове компилятора.Могу ли я определить какой-то хук компилятора?Есть ли примеры или даже готовые решения (я могу представить, что есть другие с похожими требованиями)?