[英]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.