在 Angular 中使用 httpclient.post 发送和接收不同类型
Sending and receiving different Types with httpclient.post in Angular
我需要调用 Web 服务,我在其中发送 POST 带有用户对象的请求,它 returns 我是一个 LogToken 对象。
我找不到如何使用 Angular httpClient 执行此操作,因为它似乎期望发送和接收的类型相同。如果我执行以下操作,我会收到错误消息:
public login(user: User): Observable<LoginToken> {
return this._httpClient.post<User>(this._authenticationServiceUrl, user);
}
Error TS2322 Type 'Observable{User}' is not assignable to type
'Observable{LoginToken}'.
由于我对这项技术还很陌生,所以我想我做错了什么,但我不确定是什么。从 POST 请求接收不同类型是否错误?
传递给 post
的类型参数是您希望返回的参数。也一样
public login(user: User): Observable<LoginToken> {
return this._httpClient.post<LoginToken>(this._authenticationServiceUrl, user);
}
要在 angular 2 中发出 HTTP 请求,请按照以下步骤操作
1.Import 来自@angular/http 库的 Http 模块
import { Http } from '@angular/http';
2.Create 在构造函数中使用依赖注入的 Http 实例
constructor(private http : Http) { }
3.Call http POST 并使用 Promise 处理异步调用
public login(user: User): Promise<LoginToken> {
return this.http.post(this._authenticationServiceUrl, user).toPromise()
.then(**HandleData**)
.catch(**HandleError**);
}
我需要调用 Web 服务,我在其中发送 POST 带有用户对象的请求,它 returns 我是一个 LogToken 对象。
我找不到如何使用 Angular httpClient 执行此操作,因为它似乎期望发送和接收的类型相同。如果我执行以下操作,我会收到错误消息:
public login(user: User): Observable<LoginToken> {
return this._httpClient.post<User>(this._authenticationServiceUrl, user);
}
Error TS2322 Type 'Observable{User}' is not assignable to type 'Observable{LoginToken}'.
由于我对这项技术还很陌生,所以我想我做错了什么,但我不确定是什么。从 POST 请求接收不同类型是否错误?
传递给 post
的类型参数是您希望返回的参数。也一样
public login(user: User): Observable<LoginToken> {
return this._httpClient.post<LoginToken>(this._authenticationServiceUrl, user);
}
要在 angular 2 中发出 HTTP 请求,请按照以下步骤操作
1.Import 来自@angular/http 库的 Http 模块
import { Http } from '@angular/http';
2.Create 在构造函数中使用依赖注入的 Http 实例
constructor(private http : Http) { }
3.Call http POST 并使用 Promise 处理异步调用
public login(user: User): Promise<LoginToken> {
return this.http.post(this._authenticationServiceUrl, user).toPromise()
.then(**HandleData**)
.catch(**HandleError**);
}