Angular Service with Httpclient Example

By Hardik Savani | January 1, 2020 | Category : Angular


In this example, i will know how to create service using httpclient in angular application. we can create service call httpclient in angular 8 app. it's very simple example of angular inject httpclient into service.

You will learn angular use httpclient in service, you can easily use with angular 6, angular 7, angular 8 and angular 9.

Here, i will give you very simple example to get all data using api and store data using api. we will use jsonplaceholder api for testing now. so we don't require to create new api for it.

So, let's see bellow example step by step how to create http service and how to use it.

Step 1: Create App

You can easily create your angular app using bellow command:

ng new my-new-app

Step 2: Import HttpClientModule

In this step, we need to import HttpClientModule to app.module.ts file. so let's import it as like bellow:

src/app/app.module.ts

import { BrowserModule } from '@angular/platform-browser';

import { NgModule } from '@angular/core';

import { AppComponent } from './app.component';

import { HttpClientModule } from '@angular/common/http';

@NgModule({

declarations: [

AppComponent

],

imports: [

BrowserModule,

HttpClientModule

],

providers: [],

bootstrap: [AppComponent]

})

export class AppModule { }

Step 3: Create Service for API

Here, we need to create service for http client request. we will create service file and write client http request code. this service will use in our component file. So let's create service and put bellow code:

ng g s services/post

Now let's add code as like bellow:

src/app/services/post.service.ts

import { Injectable } from '@angular/core';

import { HttpClient } from '@angular/common/http';

@Injectable({

providedIn: 'root'

})

export class PostService {

private url = 'http://jsonplaceholder.typicode.com/posts';

constructor(private httpClient: HttpClient) { }

getPosts(){

return this.httpClient.get(this.url);

}

create(post){

return this.httpClient.post(this.url, JSON.stringify(post));

}

}

Step 4: Use Service to Component

Now we have to use this services to our app component. So let's updated code as like bellow:

src/app/app.component.ts

import { Component, OnInit } from '@angular/core';

import { PostService } from './services/post.service';

@Component({

selector: 'app-root',

templateUrl: './app.component.html',

styleUrls: ['./app.component.css']

})

export class AppComponent implements OnInit {

posts;

constructor(private service:PostService) {}

ngOnInit() {

this.service.getPosts()

.subscribe(response => {

this.posts = response;

});

}

createPost(input: HTMLInputElement){

let post = {title: input.value};

input.value = '';

this.service.create(post)

.subscribe((response: { id }) => {

post['id'] = response.id;

this.posts.splice(0,0, post);

});

}

}

Step 5: Updated View File

Now here, we will updated our html file. let's put bellow code:

src/app/app.component.html

<h1>Angular 8 HttpClient for Sending Http Request Example - ItSolutionStuff.com</h1>

<input

(keyup.enter)="createPost(title)" #title

type="text" class="form-control">

<ul class="list-group">

<li

*ngFor="let post of posts"

class="list-group-item">

{{ post.title }}

</li>

</ul>

Now we are ready to run our example, you can run by following command:

ng serve

you will see layout as bellow:

I hope it can help you...




Hardik Savani
My name is Hardik Savani. I'm a full-stack developer, entrepreneur and owner of Aatman Infotech. I live in India and I love to write tutorials and tips that can help to other artisan. I am a big fan of PHP, Javascript, JQuery, Laravel, Codeigniter, VueJS, AngularJS and Bootstrap from the early stage.
Follow Me: Github Twitter
***Do you want me hire for your Project Work? Then Contact US.

We are Recommending you: