HTTP GET Request in Angular 19 using HttpClient

February 09, 2025
To perform HTTP GET request in Angular, use HttpClient.get method. Find the steps to use HttpClient.
1 Provide HttpClient using provideHttpClient().
providers: [
   provideHttpClient(),
] 
2 Obtain HttpClient using dependency injection.
import { HttpClient } from '@angular/common/http';

@Injectable({
    providedIn: 'root'
})
export class WriterService {
    constructor(private http: HttpClient) { }
} 
3 Find the syntax of HttpClient.get method.
get(url: string, options: {
    headers?: HttpHeaders | {
        [header: string]: string | string[];
    };
    observe?: HttpObserve;
    params?: HttpParams | {
        [param: string]: string | string[];
    };
    reportProgress?: boolean;
    responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';
    withCredentials?: boolean;
} = {}): Observable<any> 
4 A HTTP GET request code can be written as below.
findAllWriters(): Observable<Writer[]> {
    return this.http.get<Writer[]>("/api/writers");
} 

1. Configure provideHttpClient

/app/app.config.ts
import { ApplicationConfig, importProvidersFrom } from '@angular/core';
import { provideHttpClient } from '@angular/common/http';
import { InMemoryWebApiModule } from 'angular-in-memory-web-api';
import { TestData } from './test-data';

export const APP_CONFIG: ApplicationConfig = {
  providers: [
    provideHttpClient(),
    importProvidersFrom(InMemoryWebApiModule.forRoot(TestData, { delay: 2000 }))
  ]
}; 

2. Create Service using HttpClient

/app/writer.service.ts
import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
import { Observable } from 'rxjs';
import { Writer } from './writer';

@Injectable({
    providedIn: 'root'
})
export class WriterService {
    constructor(private http: HttpClient) { }
    findAllWriters(): Observable<Writer[]> {
        const httpHeaders = new HttpHeaders()
            .set('Accept', 'application/json');
        return this.http.get<Writer[]>("/api/writers", {
            headers: httpHeaders,
            responseType: 'json'
        });
    }
    findWriterById(id: number): Observable<Writer> {
        const httpParams = new HttpParams().set('id', id);
        return this.http.get<Writer>("/api/writers", {
            params: httpParams
        });
    }
    findWriterByNameNCity(name: string, city: string): Observable<Writer[]> {
        const httpParams = new HttpParams()
            .set('name', name)
            .set('city', city);
        return this.http.get<any[]>("/api/writers", {
            params: httpParams
        });
    }
} 
/app/writer.ts
export interface Writer {
    id:number;
    name:string;
    city:string;
} 

3. Create Component

/app/writer.component.ts
import { Component, OnInit } from '@angular/core';
import { Observable } from 'rxjs';
import { WriterService } from './writer.service';
import { Writer } from './writer';
import { CommonModule } from '@angular/common';

@Component({
   selector: 'app-writer',
   standalone: true,
   imports: [CommonModule],
   templateUrl: './writer.component.html'
})
export class WriterComponent implements OnInit {
   allWriters!: Observable<Writer[]>;
   constructor(private writerService: WriterService) { }

   ngOnInit() {
      this.findAllWriters();
      this.findWriterById();
      this.findWriterByNameNCity();
   }
   findAllWriters() {
      this.allWriters = this.writerService.findAllWriters();
   }
   findWriterById() {
      this.writerService.findWriterById(100).subscribe(writer => console.log(writer));
   }
   findWriterByNameNCity() {
      this.writerService.findWriterByNameNCity("James", "Mumbai").subscribe({
         next: (data: Writer[]) => console.log(data),
         error: (err) => console.log("Error occurred: ", err),
         complete: () => console.log("Request completed")
      });
   }
} 
/app/writer.component.html
<h3>All Writers</h3>
@for (w of allWriters | async; track w) {
    <p> {{w.id}} - {{w.name}} | {{w.city}}
} 

4. Output

HTTP GET Request in Angular 19 using HttpClient

5. Reference





©2025 tadstack.com | Privacy Policy | Contact Us