Rest API вызывается дважды - (GET & POST) в Angular 8. Мы использовали HTTP-перехватчики для изменения запроса и обработки ответа - PullRequest
0 голосов
/ 17 октября 2019

Сетевой журнал - имеет два вызова API

enter image description here

код, используемый для обработки запроса и ответа.

Это относится к перехватчикам.

intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
    if (this.txnId) {
      request = request.clone({
        setHeaders: {
          'X-abc-Txn-ID': this.txnId
        }
      });
    }
    if (request.method.toUpperCase() === 'DELETE' || request.method.toUpperCase() === 'POST' || request.method.toUpperCase() === 'PUT') {
      this.csrf = localStorage.getItem('token');
      if (this.csrf) {
        request = request.clone({
          setHeaders: {
            'X-abc-CSRF-Token': this.csrf
          }
        });
      }
    }
    return next.handle(request).pipe(
      map((event: HttpEvent<any>) => {
          if (event instanceof HttpResponse) {
            if (event.headers.has('x-abc-csrf-token')) {
              localStorage.setItem('token', event.headers.get('x-abc-csrf-token')[0]);
            }
            if (event.headers.has('x-abc-txn-id')) {
              this.txnId = event.headers.get('x-abc-txn-id')[0];
            }
          }
        return event;
      })
    );
  }
...