170 похожих чатов

Всем привет! сервис написан на nestjs, есть апи v1 и v2 описал

дто для v2 наследуясь от дто версии v1, поскольку в новой версии расширяем кол-во полей, которое приходит на ендпоинт.
у меня есть поле которое в v1 тип number, а в версии v2 это поле это объект, который я описал дто
тайпскрипт ругнулся, мол тип намбер и описанное в чилде поле объекта типа дто - не совместимо, я в родительском классе добавил операто или
public field: number | describedDto;
это решило проблему.
но над полем есть декоратор class-validator @IsNumber(), который валидирует поле
как правильно решить это проблему? можно описать отдельными классами, но если пейлоад v2 - это v1 + 2 поля, не хочу повторять код.
мб кто подкинет идею по решению этой проблемы?
```export default class v1Dto {
......

@IsNumber()
public field: number | describedDto;
.......
}
```
чилдовский класс
```
export default class V2Dto extends V1Dto {

@ValidateNested()
@Type(() => describedDto)
public field: describedDto;
}
```

1 ответов

7 просмотров

Наследоваться от DTO для разных версий - плохо. Лучше скопируй поля и вставь в новое DTO

Похожие вопросы

Обсуждают сегодня

Такой вопросец - есть функция function MySuperDuperConcat(const a: array of AnsiString): AnsiString; Как мне в её теле сделать вот так? Result:=Concat(a); А не грустный вариан...
notme
15
type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
48
А чем вам питонисты не угодили?😂
.
79
Можно ли загрузить скрипт py в бота чтобы он работал по нему? как это сделать?
huskadam #RCC Фанат? @hitlerpvp
13
Всем здравствуйте! Я хотел узнать сколько стоит средняя месячная зарплата у Electron js разработчиков? Мне очень это важно и нужно, плиз помогите узнать эту инфу! Для Джунио...
U.K.
10
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
77
А дин типизация это хорошо или плохо?
Alexey
12
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Исходники плюс документация? Вы гоните)) демок хватит всем
zamtmn
11
Карта сайта