如何在角度6的拦截器中破坏内容类型?

时间:2018-08-26 06:01:33

标签: angular6 angular-http-interceptors

某些服务需要具有令牌,某些服务具有不同的Content-Type。如何在拦截器文件中管理它们?

1 个答案:

答案 0 :(得分:1)

您可以在拦截器函数上获取或设置所有请求标头。以下代码揭示了标头用于处理此更改的正确性:

intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {

    if (request.headers.has('Content-Type'))
       contentType = request.headers.get('Content-Type');

    request = request.clone({
      setHeaders: {
        'Authorization': `Bearer ${this.auth.getToken()}`,
        'Content-Type': (contentType != 'application/json' ? 'application/text' :  contentType)
      }
    });
    return next.handle(request);
  }