Bat*_*rka 11 typescript class-validator nestjs class-transformer
如何转换数据库实体User:
class User {
public firstName: string;
public lastName: string;
public phone?: string;
public email: string;
public status: EUserState;
public tokens: Token[];
public password: string;
}
Run Code Online (Sandbox Code Playgroud)
进入 DTO 实体GetUserDTO:
class GetUserDTO {
public id: number;
public firstName: string;
public lastName: string;
public phone?: string;
public email: string;
}
Run Code Online (Sandbox Code Playgroud)
在打字稿中?我正在使用@nestjs,class-validator和class-transformer包,但我没有找到任何方法来使用它们来实现这一目标。
有人可能会说,拥有 DTO 对此毫无意义,但我们在服务器和客户端之间共享 DTO 以维护 API 结构。
有任何想法吗?
Cha*_*ran 13
有几种方法可以实现您想要的
Domain模型映射到DTOs使用static函数Domain或DTOexport class Domain {
...
static toDTO(domain: Domain) {
// mapping goes here
}
}
Run Code Online (Sandbox Code Playgroud)
或者
export class Dto {
...
static fromDomain(domain: Domain) {
// mapping goes here
}
}
Run Code Online (Sandbox Code Playgroud)
automapper-ts,@wufe/mapper,@nartc/automapper(我的LIB),或morphismclass-transformer也可以被视为mapper,但是,如果您想从一个模型映射到另一个模型,那么class-transformer就不能真正做到这一点。
| 归档时间: |
|
| 查看次数: |
6623 次 |
| 最近记录: |