=====Параметры запроса=====
Методы ''get()'', ''post()'', ''put()'' и ''delete()'' могут принимать параметры запроса в виде объекта со следующими свойствами:
* **headers** - принимает экземпляр класса ''HttpHeaders'', который содержит указанные с помощью метода ''set(key: string, value: string)'' HTTP-заголовки;
* **params** - принимает экземпляр класса ''HttpParams'', который содержит указанные с помощью метода ''set(key: string, value: string)'' параметры строки запроса;
* **reportProgress** - логическое значение, указывающее, необходимо ли при передаче данных передавать информацию о текущем состоянии, по умолчанию null;
* **responseType** - указывает тип данных ответа: 'arraybuffer' | 'blob' | 'json' | 'text', по умолчанию 'json';
* **withCredentials** - логическое значение, указывающее, будут ли в запросе передаваться авторотационные данные пользователя.
Пример задания параметров строки запроса и HTTP-заголовка ''Session''.
import {Injectable} from '@angular/core';
import {HttpClient, HttpParams, HttpHeaders} from '@angular/common/http';
@Injectable({providedIn: 'root'})
export class UsersService{
constructor(private http: HttpClient){}
// получение списка пользователей
getUsers(){
return this.http.get('http://example.com/api/users', {
headers: new HttpHeaders().set('Session', 'A1B2C3D4E5F6G7H8')
params: new HttpParams()
.set('page', '1')
.set('count', '25')
});
}
}
Метод ''set()'' классов ''HttpHeaders'' и ''HttpParams'' в качестве аргументов принимает только строки.