2
新しいHttpClientとこの既存のコードをどのように置き換えることができますか?私の問題は、深い解析を行い、サービスクラス外の型付きオブジェクトをComponentに返すことです。問題は、私がUserModelとして角度4.3のHttpクライアント
public authenticate(model: LoginModel): Promise<UserModel> {
return this.http
.post(this.controller, JSON.stringify(model))
.toPromise()
.then(response => response.json().result.data as UserModel)
.catch(this.handleError);
}
古いコード
コンポーネント
this.loginService.authenticate(this.loginModel).then(
res => { this.userModel = res;},
error => { this.handleError(error);}
);
サービスクラスをresult.data返すことができないんだけどHttpClientをしています改訂サービスクラスコード私が観察し、リターンにresponse.result.dataマッピングするにはどうすればよい
public authenticate(model: LoginModel): Observable<UserModel> {
return this.httpClient
.post<UserModel>(this.controller, model)
.catch(this.handleError);
}
。私はクラスから完全な応答オブジェクトを返すのではなく、型指定されたオブジェクトとしてjsonの一部だけを返すことを望んでいます。
編集者は、 –
の後にresponse.result.dataの赤を表示します。次に、 '(response:any)=> response.result.dataをUserModel'として試してください。 – cyrix
ありがとうございました! –