До Angular 4.3, если вы хотели преобразовывать каждый HTTP-запрос перед его инициированием (для выполнения неявных задач, от аутентификации до ведения журнала), лучшим способом было обернуть Http-сервис другим инъекционным файлом, например
Теперь, когда модуль Http устарел и заменен более умным модулем HttpClient, и, конечно же, rxjs тоже изменился. Angular представил более умный способ преобразования каждого запроса, то есть через перехватчики. Проще говоря, вам просто нужно унаследовать HttpInterceptor
и предоставить его в корневом модуле. Типичная реализация выглядит так
и он предоставляется в корневом модуле
providers: [
{
provide: HTTP_INTERCEPTORS,
useClass: RestInterceptor,
multi: true
},
. . .
]
При этом все запросы, проходящие через модуль HttpClient
, будут вызывать метод перехвата и готово. Для получения дополнительной информации о перехватчиках изучите Angular - HttpClient.