#angular #typescript #api #swagger #nswag
#angular #typescript #API #развязность #nswag
Вопрос:
При использовании NSwag с моим проектом angular при попытке отправить данные выдает ошибку, если объект имеет вложенный массив объектов, как здесь:
export interface IJobAdDto {
mainJobAd: JobAddDetailsDto;
differentLanguageJobAds: JobAddDetailsDto[] | undefined;}
Но если я вместо этого «приведу его» к новому объекту того типа, которым он уже должен быть, это сработает:
Вопрос в том, как мне заставить NSwag внести это изменение или как я могу расширить этот метод / класс, чтобы он не перезаписывал его при каждом его создании?
Я сгенерировал клиентский код с помощью NSwag(13.9.4.0).
Ответ №1:
Один из способов сделать это — отделить DTO от клиента, чтобы он не перезаписывался каждый раз.
Поместите DTO в класс обслуживания, который определяется NSwag:
А затем «Исключите имена типов» (dto), которые вы не хотите, чтобы NSwag генерировал:
и тогда любые изменения, которые вам нужно внести, могут быть внесены туда. Недостатком этого является то, что при изменении модели вам нужно не забыть обновить файл расширения.