Angular HttpInterceptor 적용 예시
- http interceptor 서비스 생성
// auth-interceptor.service.ts
export class AuthInterceptorService implements HttpInterceptor {
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
...
// 인증 확인 후 http 헤더 수정
...
return next.handle(req).pipe(tap(event => {
if (event instanceof HttpResponse) {
...
// 응답이 포함된 요청일 경우 인증 갱신
...
}
}));
}
}
- 모듈에 추가
// app.module.ts
@NgModule({
...
providers: [
{
provide: HTTP_INTERCEPTORS,
useClass: AuthInterceptorService,
multi: true // 여러개의 인터셉터 사용 여부
}
],
})