Spec-Zone.ru › Angular

HttpInterceptorFn

Перехватчик HTTP-запросов, выполняемых через HttpClient.

Руководство по HTTPwithInterceptors

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API