如何将 HttpResponse 转换为 HttpErrorResponse

Wil*_*lfi 2 angular

我有一个 Web 服务200在一个经典 errors对象中的Response 中返回自定义错误。

这打破了我的工作流程和模式,我通常会拦截正确的 HTTP 错误状态代码,然后继续处理各种错误情况。

我需要HttpErrorResponse通过拦截器将这些自定义错误转换为正确的错误,以便我可以拦截那些现在正确的错误并按照通常的最佳实践继续我的应用程序。

我不能做的事情:

  • 修改 Web 服务,使其返回正确的 HTTP 错误
  • 在响应到达客户端应用程序之前,在中间有另一个 Web 服务来处理转换

我想做什么:

因此,在不久的将来,当我将处理使用相同的不可修改的 Web 服务的其他几个应用程序时,我可以直接CustomErrorInterceptor加入并收工。

Wil*_*lfi 7

这是我的一个朋友刚刚找到的答案:

throw new HttpErrorResponse({ error: 'bar', status: 403 });