在哪里将HttpClient的responseType设置为http GET

时间:2018-08-06 15:14:47

标签: angular

我有一项服务可以对后端进行http调用:

exportSubs(param: Param): Observable<Sub[]> {
    return this.http.get<Sub[]>(
      `${environment.apiBaseUrl}/blah`,
      {headers: this.httpUtil.getReqHeaders})
      .catch(error => this.httpUtil.handleError(error));
  }

我在哪里设置responseType?

2 个答案:

答案 0 :(得分:2)

您可以使用responseType指定要返回的数据不是JSON。请参阅请求非JSON数据

在您的示例中,您应该可以使用:

return this.http.get(
    `${environment.apiBaseUrl}/blah`, { responseType: 'text' })

编辑

您可以将responseType设置为blob,

return this.http.get(`${environment.apiBaseUrl}/blah`, { responseType: 'blob' });

答案 1 :(得分:0)

我们只需要告诉我们我们想要一个作为“文本”的响应并在调用 api 时传递。

HTTPOptionsForText: Object = {
   headers: new HttpHeaders({'Content-Type': 'application/json'}),
   responseType: 'text'
}


 public getHealthCheckStatus() {
    return this.http.get<any>(this.config.healthCheckUrl,
        this.HTTPOptionsForText);
  }
<块引用>

responseType 的完整选项列表是:

  • json(默认)
  • 文字
  • 数组缓冲区
  • 斑点