La mayoría de las aplicaciones front-end se comunican con los servicios de back-end a través del protocolo HTTP. Los navegadores modernos admiten dos API diferentes para realizar solicitudes HTTP: la interfaz XMLHttpRequest y la API fetch(), pero Angular implementa su propia interfaz basada en XMLHttpRequest para facilitar el fetching de datos, api expuesta por los navegadores.

para utilizarlo debemos importar al modulo el HttpClientModule@angular/common/http

para utilizar en el componente importamos el HttpClient@angular/common/http

Para trabajar con HttpClient tenemos que crear un objeto de tipo HttpClient:

import { HttpClient } from '@angular/common/http';
export class ProductsService { constructor( private http: HttpClient ) {}
}

HttpClient provee métodos http basados en los verbos de protocolos http, por lo tanto podemos facilitar una capa de servicios que implemente los métodos específicos de cada acción http:

export class ProductsService { 
		getAllProducts(): Observable<Product[]> { 
			return this.http.get<Product[]>(`url`); 
		}
}

Algunos de los métodos que podríamos utilizar son: