[英]Values from web api are not being converted
我有一个 web api 调用。 checkNumber 的属性在 web api 端是一个双精度值,但是在我的打字稿模型中,我需要它作为字符串输入。 即使我的模型清楚地将它作为字符串变量,它仍然是一个数字。
有没有办法让转换自动发生在字符串上?
我的 web api 调用
public GetMyClass(myModel: MyClass): Observable<MyClass> {
let headers = new HttpHeaders();
headers.append("content-type", "application/json");
headers.append("accept", "application/json");
let options = { headers: headers };
return this.httpClient.post<MyClass>( url, myModel, options)
}
我的模特
export MyClass{
checkNumber?: string;
}
打字稿不做自动转换。 它有助于在开发过程中进行类型检查。 在运行时,它只是普通的 javascript。
您需要定义自己的转换。
public GetMyClass(myModel: MyClass): Observable<MyClass> {
let headers = new HttpHeaders();
headers.append("content-type", "application/json");
headers.append("accept", "application/json");
let options = { headers: headers };
return this.httpClient.post<MyClass>( url, myModel, options)
.pipe(
map(dataObject => {
let checkNumber = dataObject.checkNumber
return {
checkNumber: checkNumber ? dataObject.checkNumber.toString() : undefined,
...dataObject
}
})
)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.