使用Angular中的httpclient.post发送和接收不同的类型

Ign*_*cia 2 post typescript angular angular-httpclient

我需要调用Web服务,并在其中发送带有User对象的POST请求,并返回一个LogToken对象。

我找不到如何使用Angular httpClient进行此操作,因为它似乎期望发送和接收相同的类型。如果执行以下操作,则会出现错误:

  public login(user: User): Observable<LoginToken> {
    return this._httpClient.post<User>(this._authenticationServiceUrl, user);
  }
Run Code Online (Sandbox Code Playgroud)

错误TS2322类型'Observable {User}'无法分配给类型'Observable {LoginToken}'。

因为我对这项技术还很陌生,所以我想我做错了什么,但是不确定。从POST请求中接收其他类型是否错误?

Sur*_*yan 5

传递给的type参数post是您希望返回的参数。也是

public login(user: User): Observable<LoginToken> {
    return this._httpClient.post<LoginToken>(this._authenticationServiceUrl, user);
}
Run Code Online (Sandbox Code Playgroud)