如何实现 函数返回值的DTO

发布于 2022-09-11 14:29:36 字数 739 浏览 37 评论 0

定义一个数据库模型 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 }

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文