Относительно использования контроллеров-преобразователей классов и маршрутизации.
Может быть, я не понимаю истинного значения библиотек-преобразователей классов, но я хотел использовать его для преобразования объекта, полученного от сервера (третий -party) и адаптировать их к моей собственной модели, с разными именами. Что теоретически должно работать, и это происходит при консольном ведении журнала новой преобразованной модели или даже при JSON .stringify-ing.
Но по какой-то причине при выводе модели с использованием контроллеров маршрутизации просто выводит тот же объект происхождения.
Класс пользователя:
class User {
@Expose({ name: 'uid' }) // To convert/rename the "uid" property received from the server
id: string
firstName: string
lastName: string
}
users-controller.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'
}
Но ответ от UsersController (через lib для контроллеров маршрутизации) таков:
{
uid: '123',
firstName: 'Matthew',
lastName: 'Michalsky'
}
Что-то, что вы видите, может быть пропущено / я делаю неправильно? Спасибо.