ng g interceptor interceptorName 用于创建一个http请求拦截器,用于请求前的拦截(token添加),响应后的拦截(特殊响应处理)等
要实现拦截器,就要实现一个实现了 HttpInterceptor
接口中的 intercept()
方法的类。
这里是一个什么也不做的空白拦截器,它只会不做任何修改的传递这个请求。(intercept
方法会把请求转换成一个最终返回 HTTP 响应体的 Observable
)
//ng g interceptor interceptor/token
import { Injectable } from '@angular/core';
import {
HttpRequest,
HttpHandler,
HttpEvent,
HttpInterceptor
} from '@angular/common/http';
import { Observable } from 'rxjs';
@Injectable()
export class TokenInterceptor implements HttpInterceptor {
constructor() {}
intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {
return next.handle(request);
}
}