【发布时间】:2021-02-03 19:42:38
【问题描述】:
使用nestjs HttpModule(使用axios)时如何更改请求值的名称?
DTO 示例:
export class UserRequest {
firstName: string;
}
但 API 期望 first_name 作为 json 中的键。
【问题讨论】:
标签: javascript axios nestjs
使用nestjs HttpModule(使用axios)时如何更改请求值的名称?
DTO 示例:
export class UserRequest {
firstName: string;
}
但 API 期望 first_name 作为 json 中的键。
【问题讨论】:
标签: javascript axios nestjs
您可以使用class-transformer 包。它包含一个 @Expose 装饰器,您可以装饰您的属性并提供一个名称以将属性公开为。
import { serialize, Expose } from "class-transformer";
export class UserRequest {
@Expose({ name: "first_name" })
firstName: string;
}
const userRequest: UserRequest = new UserRequest();
userRequest.firstName = "John";
const serializedRequest = serialize(userRequest);
console.log(serializedRequest);
上面会产生一个序列化的json字符串为....
{
"first_name":"John"
}
https://stackblitz.com/edit/class-transformer-expose-b1pis7
【讨论】: