【问题标题】:how to get data,message and status from http client response如何从 http 客户端响应中获取数据、消息和状态
【发布时间】:2019-05-01 17:09:26
【问题描述】:

当我进行 http 调用时,我使用自己的 http 扩展 httpclient。这是get方法:

return this.httpClient.get(environment.newApiEndpoint + url).map((resp) => resp['data']);

如您所见,我转换响应并仅从中返回数据。但我也想返回“消息”和“状态”。但也许只是“信息”。我必须在map 中做什么才能实现我的目的?

【问题讨论】:

  • 删除它,让调用者决定它想从响应正文中提取什么? (从而让调用者直接使用真正的HttpClient,足够灵活)
  • 这是我搬到一个新项目时的代码。这就是进行如此多的http调用的方式。所以我别无选择。
  • 弃用这个类,并建议对所有新代码/更新使用标准 HttpClient?

标签: angular rxjs rxjs5


【解决方案1】:

我强烈建议您使用 Angular 支持的标准 httpClient

您可能知道也可能不知道,您只需执行以下操作即可使用httpClient 轻松获得完整回复:

return this.httpClient.get<any>(`${environment.newApiEndpoint}url`, {
  observe: 'response'
});

将所有内容更改为httpClient 可能会很麻烦,因此我建议您保持其余部分不变,仅迁移需要您观察完整 http 响应正文的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-23
    • 1970-01-01
    • 1970-01-01
    • 2018-04-23
    • 1970-01-01
    • 2015-04-20
    • 2021-05-07
    相关资源
    最近更新 更多