HttpInterceptorFn
Перехватчик HTTP-запросов, выполняемых через HttpClient.
API
type HttpInterceptorFn = ( req: HttpRequest<unknown>, next: HttpHandlerFn, ) => Observable<HttpEvent<unknown>>
Описание
Перехватчик HTTP-запросов, выполняемых через HttpClient.
HttpInterceptorFn — это функции промежуточного программного обеспечения, которые HttpClient вызывает при выполнении запроса. Эти функции могут изменять исходящий запрос или полученный ответ, а также блокировать, перенаправлять или иным образом изменять семантику запроса или ответа.
Предоставляется HttpHandlerFn, представляющая следующий перехватчик (или серверную часть, которая выполнит реальный HTTP-запрос). Большинство перехватчиков делегируют обработку этой функции, но это не обязательно (подробности см. в разделе HttpHandlerFn).
HttpInterceptorFn выполняются в контексте внедрения зависимостей. Они имеют доступ к inject() через EnvironmentInjector, в котором они были настроены.
Примечания по использованию
Вот перехватчик, который ничего не делает и передаёт запрос дальше без изменений:
export const noopInterceptor: HttpInterceptorFn = (req: HttpRequest<unknown>, next:
HttpHandlerFn) => {
return next(modifiedReq);
};
Чтобы изменить запрос, сначала создайте его копию и внесите изменения в неё, прежде чем передать её функции обработчика next().
Вот простой перехватчик, добавляющий токен bearer в заголовки
export const authenticationInterceptor: HttpInterceptorFn = (req: HttpRequest<unknown>, next:
HttpHandlerFn) => {
const userToken = 'MY_TOKEN'; const modifiedReq = req.clone({
headers: req.headers.set('Authorization', `Bearer ${userToken}`),
});
return next(modifiedReq);
};
Super-powered by Google ©2010–2025.
Code licensed under an MIT-style License. Documentation licensed under CC BY 4.0.
https://angular.dev/api/common/http/HttpInterceptorFn