我正在努力弄清楚为什么我从API获得的响应没有映射到我在打字稿中的对象。
以下是我的服务中调用API的函数:
register(user: IUser): Observable<IUser> {
var headers = new Headers();
headers.append('Content-Type', 'application/json');
var options = new RequestOptions({
headers: headers,
url: this._registerUrl,
body: JSON.stringify(user)
});
return this._http.post(this._registerUrl, { user }, options)
.map((res: Response) => res.json() as IUser)
.catch(this.handleError);
}
这是调用服务的函数:
register(): void {
let user: IUser = {
email: this.email,
username: this.username,
password: this.password
}
this._userService.register(user)
.subscribe(result => {
debugger;
if(result.errorCode > 0)
this.handleError(result.errorCode);
else {
localStorage.setItem('userId', result.userId.toString());
localStorage.setItem('username', result.username.toString());
localStorage.setItem('email', result.email.toString());
}
});
}
我从API返回的对象与我前端的对象匹配。它正在返回数据,我可以在我的回复中看到它。所有数据都是正确的,但它在正文中并没有将其转换为IUser对象。
有人有什么想法吗?感谢。
修改
这是响应对象从服务返回时的样子。