Angular 12 RxJs Observable Example

  4789 views   11 months ago Angular

In this tutorial we will cover an angular 12 overt example. you will learn angular 12 rxjs overt example. In this article, we will implement a angular 12 http overt example. i would relish to show you angular 12 overt with httpclient example. follow bellow step for overt in angular 12 example.

If you don't ken how to utilize overt with httpclient request in angular application then i will avail you getting done. we always prefer to utilize overt for http request that avail to manage server request and monitor to server request. overt is provided by rxjs.

Here, i will give you very simple example with http request with overt in angular. we will utilize jsonplaceholder api to make api request. so let's follow some step to get example done, i additionally affix preview on bottom.

Step 1: Create New 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 Post Class

In this step, we will simply create Post class and define data types of returning data. so let's create post.ts file and put bellow code:

src/app/post.ts

export class Post {
    constructor(
      public body: string,
      public id: number,
      public title: string,
      public userId: number
    ) {}
  }

Step 4: Create Service for Call API

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

ng g s post

Now let's add code as like bellow:

src/app/post.service.ts

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { Post } from './post';
  
@Injectable({
  providedIn: 'root'
})
export class PostService {
    
  private url: string = 'https://jsonplaceholder.typicode.com/posts';
  constructor(private httpClient: HttpClient) { }
  
  public getPosts(): Observable{
    return this.httpClient.get(this.url);
  }
  
}

Step 5: 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 './post.service';
import { Post } from './post';
  
@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
  name = 'Angular';
  
  posts = new Array();
    
  constructor(private service:PostService) {}
    
  ngOnInit() {
      this.service.getPosts().subscribe(response => {
          this.posts = response.map(item => 
            {
              return new Post( 
                  item.body,
                  item.id,
                  item.title,
                  item.userId
              );
            });
        });
  }
}

Step 6: Updated View File

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

I used bootstrap class on this form.

src/app/app.component.html

 

Angular 12 Observables HttpClient Example

ID Body Title UserID
{{ post.id }} {{ post.body }} {{ post.title }} {{ post.userId }}

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

ng serve

i hope you like this article.

Author : Harsukh Makwana
Harsukh Makwana

Hi, My name is Harsukh Makwana. i have been work with many programming language like php, python, javascript, node, react, anguler, etc.. since last 5 year. if you have any issue or want me hire then contact me on [email protected]