猿问

如何实现 函数返回值的DTO

定义一个数据库模型 User

interface User {
    id: string,
    name: string,
    xxxx: string,
}

定义一个DTO UserDTO

interface UserDTO {    id: string,    name: string,
}

定义一个方法,来获取一个用户。
一般的,我们不想暴露全部信息的话,我们会固定住暴露的属性(id, name)。

async function getUser(){    const user = await UserService.findOne();    return {        id: user.id,        name: user.name,
    };
}// res= { id, name }

但是上面这个写法难以适用于自动化的场景,我想通过装饰器来实现下面的功能。

@ReturnDto(UserDTO)async function getUser(){    const user = await UserService.findOne();
    return user;
}// res= { id, name }

我尝试过很多方法,但是还是没有办法在 异步获取 函数返回值的情况下,同时修改它。
请教如何简单的实现?


凤凰求蛊
浏览 693回答 1
1回答
随时随地看视频慕课网APP

相关分类

Html5
我要回答