Angular 在何处将HttpClient的responseType设置为http GET
我有一个对我的后端进行http调用的服务: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(
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