关于类转换器和路由控制器的使用。
也许是我不明白 class-transformer lib 的真正含义,但我想用它来转换从服务器(第三方)接收到的对象并将它们适应我自己的模型,使用不同的名称。理论上哪个应该有效,并且在 console.log-ing 新转换模型时,甚至在 JSON.stringify-ing 时有效。
但是由于某种原因,当使用路由控制器输出模型时,它只是输出相同的源对象。
用户等级:
class User {
@Expose({ name: 'uid' }) // To convert/rename the "uid" property received from the server
id: string
firstName: string
lastName: string
}
用户控制器.ts:
@JsonController('/users')
export class UsersController {
@Get('/')
async get() {
const user = plainToClass(User, {
uid: '123',
firstName: 'Matthew',
lastName: 'Michalsky'
})
console.log(user)
return user
}
}
控制台输出预期值:
User {
id: '123',
firstName: 'Matthew',
lastName: 'Michalsky'
}
但是来自用户控制器(通过路由控制器库)的响应是:
{
uid: '123',
firstName: 'Matthew',
lastName: 'Michalsky'
}
你看到我可能遗漏/做错了什么吗?谢谢。