> For the complete documentation index, see [llms.txt](https://koziuk-s.gitbook.io/angular-starter/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://koziuk-s.gitbook.io/angular-starter/angular-services/httpclient.md).

# HttpClient

Для взаємодії з сервером і відправлення запитів по протоколу http застосовується клас HttpClient. Цей клас визначає ряд методів для відправки різного роду запитів: GET, POST, PUT, DELETE. Даний клас побудований поверх стандартного об'єкта в JavaScript - XMLHttpRequest.

Щоб розпочати користуватися HttpClient класом нам потрібно підключити HttpClientModule

{% code title="app.module.ts" overflow="wrap" lineNumbers="true" %}

```typescript
// ...
import { HttpClientModule }   from '@angular/common/http';
 
@NgModule({
    imports:      [
        // ...
        HttpClientModule
    ],
    declarations: [ AppComponent],
    bootstrap:    [ AppComponent ]
})
export class AppModule { }
```

{% endcode %}

{% hint style="info" %}
Об'єкт HttpClient, при відправці різного роду запитів, повертає нам RxJs Observable об'єкт.
{% endhint %}

## Завдання

> Для правильної роботи з XMLHttpRequest нам потрібно мати якийсь restAPI. З емулюємо його з допомогою[ json-server](https://www.npmjs.com/package/json-server).

* Встановити npm json server
* Підключити в todo сервісі HttpClient та зробити запти в базу даних. (GET, POST, DELETE, PUT)
*
