В Angular, чтобы сделать запись в заголовках (headers) HTTP-запроса, вы можете использовать интерсепторы (interceptors) или добавить заголовки непосредственно в конфигурацию запроса.
Первый способ состоит в том, чтобы создать интерсептор, который будет добавлять заголовки к каждому HTTP-запросу. Для этого нужно:
1. Создайте новый файл (например, header.interceptor.ts
) и определите интерсептор:
import { Injectable } from '@angular/core'; import { HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http'; @Injectable() export class HeaderInterceptor implements HttpInterceptor { intercept(req: HttpRequest<any>, next: HttpHandler) { const modifiedReq = req.clone({ setHeaders: { 'Custom-Header': 'CustomValue' } }); return next.handle(modifiedReq); } }
2. Зарегистрируйте интерсептор в модуле вашего приложения (например, app.module.ts
):
import { NgModule } from '@angular/core'; import { HTTP_INTERCEPTORS } from '@angular/common/http'; import { HeaderInterceptor } from './header.interceptor'; @NgModule({ providers: [ { provide: HTTP_INTERCEPTORS, useClass: HeaderInterceptor, multi: true } ] }) export class AppModule {}
Теперь заголовок 'Custom-Header' со значением 'CustomValue' будет автоматически добавляться ко всем запросам HTTP.
Второй способ - это добавление заголовков непосредственно в конфигурацию запроса. Для этого вам потребуется использовать модуль HttpClient
из @angular/common/http
:
1. Импортируйте HttpClient
и инжектируйте его в ваш сервис (кнопка, компонент, другой сервис и т.д.):
import { HttpClient, HttpHeaders } from '@angular/common/http'; constructor(private http: HttpClient) {}
2. Создайте экземпляр объекта HttpHeaders
, добавьте необходимые заголовки и передайте его в конфигурацию вашего запроса:
const headers = new HttpHeaders().set('Custom-Header', 'CustomValue'); const options = { headers: headers }; this.http.get('https://api.example.com/data', options).subscribe(response => { console.log(response); });
Вы можете добавить любое количество заголовков, используя метод set()
. Если вам нужно добавить несколько значений для одного заголовка, можно использовать метод append()
вместо set()
.