Tengo el siguiente método en un servicio angular que funciona correctamente.
getMyRequests( userId: string){ const headers = new HttpHeaders().set('Authorization', `Bearer ${localStorage.getItem(CONSTS.MIDDLEWARE_TOKEN)}`); return this.http.post<any>(this.MIDDLEWARE_MY_REQUESTS,{ "userId": userId }, { headers , params: null }) }Sin embargo, la parte de los encabezados se configura localmente en el método, y dado que se usó varias veces en diferentes métodos dentro del mismo servicio, me gustaría configurarlo en el servicio globalmente . Intenté lo siguiente pero no funciona
export class MyService { headers = new HttpHeaders().set('Authorization', `Bearer ${localStorage.getItem(CONSTS.MIDDLEWARE_TOKEN)}`); getMyRequests( userId: string){ return this.http.post<any>(this.MIDDLEWARE_MY_REQUESTS,{ "userId": userId }, { this.headers , params: null }) }Me gustaría saber cuál es la solución correcta para esto.
En Angular puede usar la interfaz HttpInterceptor para esto. Proporciona el Método
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>
que toma su solicitud saliente y la modifica de la manera que desee.
Así que lo que tienes que hacer es:
Enlace a la documentación de Angulars: https://angular.io/api/common/http/HttpInterceptor