import { Injectable } from '@angular/core'; import { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor, HttpResponse, HttpErrorResponse } from '@angular/common/http'; import { Observable, throwError } from 'rxjs'; import { catchError } from 'rxjs/operators';
@Injectable()
export class MyInterceptor implements HttpInterceptor {
intercept(request: HttpRequest
import { HttpClient, HttpParams } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators';
@Injectable({ providedIn: 'root' }) export class MyService { constructor(private http: HttpClient) {}
performRequestWithRedirect(url: string, params: HttpParams): Observable
在服务中使用performRequestWithRedirect方法,会处理重定向,同时返回响应数据。例如:
this.myService.performRequestWithRedirect('/some/url', new HttpParams()).subscribe(response => { console.log(response.body); });