2017-12-12 8 views
0

私はTypeオブジェクトはHttpClientをしてオブジェクトへのHTTP JSONレスポンスを変換

角度クラスはタイプがキャストされる

{ 
    "authenticated": false, 
    "admin": false 
} 
サーバーから

JSONレスポンス

export class UserRole { 
    authenticated: boolean; 
    admin: boolean; 
} 
にHTTP POSTレスポンスを変換しようとしています

HTTPポストコール

login() { 
    this.user.password = btoa(this.user.password); 
    this.http.post(this.url, this.user).subscribe(res => { 
     console.log(res); 
    }); 
    if (this.userRole.admin) { 
     console.log('Going in admin'); 
     this.authService.setLoggedIn(this.user.userId,true); 
    } else { 
     console.log('Going in else admin'); 
     this.authService.setLoggedIn(this.user.userId,false); 
    } 
    this.router.navigateByUrl('/nav'); 
    } 

JSON.parseやその他のメソッドを使用する必要がある場合は、UserRoleオブジェクトの購読結果を変換する際に問題があります。

答えて

0

あなたはタイプが加入者にに流す持つように型引数を渡すことができます:あなたはres.authenticatedらを使用できるように

this.http.post<UserRole>(this.url, this.user).subscribe(res => { 
    console.log(res); 
}); 

これは、あなたのresパラメータの種類を設定する必要があります。

+0

それを得ました。インスタンスがメインコンポーネントthis.userRole = resにあるので、オブジェクト値自体をthis.userRoleに代入する方法はありますか? – Joe

関連する問題