【发布时间】:2018-01-10 16:16:09
【问题描述】:
我们有如下 http 调用:
this.http.get(`${environment.baseUrl}/api/v.1/reports/...`,
{ responseType: ResponseContentType.Blob })
它返回我们通过 FileSaver 进一步保存的 blob pdf。
问题是服务器是否返回 4XX 响应,其中包含一些 application/json 和正文中的消息。在这种情况下,我们无法找到访问它的方法,因为responseType 必须在请求之前设置,并且以后不能更改。
有什么优雅的解决方案吗?
【问题讨论】:
-
您获得了哪些特定代码? en.wikipedia.org/wiki/…
-
我希望任何 4xx 响应都具有相同的行为(接收带有错误消息的 json)。为了讨论,假设服务器返回 400 和
{errorCode:1, errorMessage:"do something"} -
例如身份验证失败和超时将有完全不同的解决方案。所以请求太开放了...
-
好的,让我们坚持使用 400 响应代码。
-
对于 400 angular.io/api/http/Response#statusText 我会记录下来,看看该消息是否为您提供了更多信息。不确定这是否会给您带来比错误请求更多的信息。告诉我
标签: angular