Volver a la página principal
lunes 24 marzo 2025
3

Cómo consumir una API en Angular

En Angular, el consumo de una API se realiza con el servicio HttpClient, que permite realizar peticiones HTTP para obtener, enviar o modificar datos desde un servidor externo.

Configurar HttpClientModule

Antes de consumir una API, asegúrate de importar HttpClientModule en el módulo principal de tu aplicación (app.module.ts):

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import { HttpClientModule } from '@angular/common/http'; // Importación necesaria

@NgModule({
  declarations: [AppComponent],
  imports: [
    BrowserModule,
    HttpClientModule // Se agrega aquí
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

Crear un servicio para consumir la API

Genera un servicio para gestionar las peticiones HTTP:

ng generate service api

Luego, edita el archivo api.service.ts:

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';

@Injectable({
  providedIn: 'root'
})
export class ApiService {
  private apiUrl = 'https://jsonplaceholder.typicode.com/posts'; // URL de la API

  constructor(private http: HttpClient) { }

  obtenerDatos(): Observable<any> {
    return this.http.get(this.apiUrl);
  }
}

Usar el servicio en un componente

Para consumir la API en un componente, primero impórtalo y agrégalo al constructor:

import { Component, OnInit } from '@angular/core';
import { ApiService } from '../api.service';

@Component({
  selector: 'app-mi-componente',
  templateUrl: './mi-componente.component.html',
  styleUrls: ['./mi-componente.component.css']
})
export class MiComponenteComponent implements OnInit {
  datos: any[] = [];

  constructor(private apiService: ApiService) { }

  ngOnInit() {
    this.apiService.obtenerDatos().subscribe(respuesta => {
      this.datos = respuesta;
    });
  }
}

Mostrar los datos en la plantilla

En el archivo mi-componente.component.html, muestra los datos obtenidos de la API:

<ul>
  <li *ngFor="let item of datos">{{ item.title }}</li>
</ul>

Ejemplos de uso

  • Obtener datos: this.http.get(url)
  • Enviar datos: this.http.post(url, datos)
  • Actualizar datos: this.http.put(url, datos)
  • Eliminar datos: this.http.delete(url)
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer