Angular 在何处将HttpClient的responseType设置为http GET

Angular 在何处将HttpClient的responseType设置为http GET,angular,Angular,我有一个对我的后端进行http调用的服务: exportSubs(param: Param): Observable<Sub[]> { return this.http.get<Sub[]>( `${environment.apiBaseUrl}/blah`, {headers: this.httpUtil.getReqHeaders}) .catch(error => this.httpUtil.handleError(

我有一个对我的后端进行http调用的服务:

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

在哪里设置responseType?

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

在您的示例中,您应该能够使用:

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

您可以将responseType设置为blob

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

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

在您的示例中,您应该能够使用:

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

您可以将responseType设置为blob

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

在标题中,如normal@mast3rd3mon那绝对不是你通常做的事!你的意思是和标题在同一个对象中吗?你读了吗?它们精确地显示了设置它的位置。@jonrsharpe是的,这就是你所做的,它是
Accept
头,除非他指的是角度http响应类型,在这种情况下,它已经设置为
Sub
@mast3rd3mon数组,我想你误解了这个问题,我还建议阅读我刚刚链接的文档normal@mast3rd3mon那绝对不是你通常做的事!你的意思是和标题在同一个对象中吗?你读了吗?它们精确地显示了设置它的位置。@jonrsharpe是的,这就是你所做的,它是
Accept
头,除非他指的是角度http响应类型,在这种情况下,它已经设置为
Sub
@mast3rd3mon数组,我想你误解了这个问题,我建议您也阅读我刚刚链接的文档。这在语法上甚至无效,所以我怀疑您是否尝试过。然后我得到了错误:“预期1-2个参数,但得到了3个。”@Drew13听起来像是您在调用中传递了一个额外的参数,
get
方法只接受2个参数,url和可选的httpoptions@mast3rd3mon是的,我必须摆脱我设置标题的地方。我需要我的响应类型为“blob”。我想你可以将类型设置为blob,这在语法上甚至是无效的,所以我怀疑你是否尝试过。然后我得到了错误:“应该是1-2个参数,但得到了3个。”@Drew13听起来像是在向调用传递一个额外的参数,
get
方法只接受2个参数,url和可选的httpoptions@mast3rd3mon是的,我必须摆脱我设置标题的地方。我需要我的响应类型为“blob”。我来算算你可以把类型设为blob