我最近开始使用TypeScript并遇到了一个问题,如果TypeScript提供了任何功能,我很好奇。我正在接触一个Web服务,它接受以下格式的数据请求:
{
"data": {
"country": "US"
"customerType": "Internal"
"customer": "ABC"
}
}
正如您所看到的,实际的JSON请求被“数据”对象“包装”,因此需要我定义我的类:
export class CalculatorRequest {
data: CalculatorRequestData
}
export class CalculatorRequestData {
country: string;
customerType: string;
customer: string;
}
有没有办法避免必须拥有“CalculatorRequestData”类型的辅助内部数据类?
我知道我可以制定我的请求以避免需要内部课程,但我想看看是否有更有效的选择。
谢谢!
答案 0 :(得分:1)
使用通用名称只允许您创建“数据”对象,而您只需要一个“请求”对象。
export class ApiRequest<T> {
data: T
}
export class CalculatorRequestData {
country: string;
customerType: string;
customer: string;
}
// no extra request object needed, regardless of how many requests you have
export class FoooData {
foo: string;
bar: number;
}