Conexión de una API REST con Angular y Postman
Clase 22 de 37 • Curso de Angular Forms: Creación y Optimización de Formularios Web
Contenido del curso
- 5

Ventajas de los Formularios Reactivos en Angular
01:32 - 6

For Control en Formularios Reactivos: Creación y Uso Básico
17:16 - 7

Tipos de Input en HTML y su Impacto en la Experiencia de Usuario
08:12 - 8

Uso de Selects y Selectores Múltiples en Formularios HTML
07:00 - 9

Implementación de Inputs Radio y Checkbox en Formularios HTML
09:20 - 10

Validaciones en Formularios con Angular: Sincronización y Estados
12:15 - 11

Integración de CSS Dinámico en Formularios Reactivos con Angular
12:42
- 12

Manejo de formularios reactivos con FormGroup en Angular
10:00 - 13

Creación de Formularios Reactivos con FormBuilder en Angular
12:25 - 14

Validaciones en Angular: 11 Métodos y Expresiones Regulares
13:40 - 15

Manejo de FormGroups Anidados en Formularios Angular
09:23 - 16

Implementación de Formularios con Angular Material
14:31 - 17

Errores Comunes en Formularios Angular Material
05:27 - 18

Validaciones Personalizadas de Contraseñas en Angular
15:22
- 19

Validaciones Grupales en Formularios Reactivos de Angular
10:11 - 20

Validaciones Condicionadas en Formularios Reactivos
09:09 - 21

Gestión de Categorías en Angular: Creación y Edición de Formularios
06:32 - 22

Conexión de una API REST con Angular y Postman
15:47 - 23

Subir Imágenes a FiberStorage con Angular y HTML
12:36 - 24

Validaciones Asíncronas con API para Formularios de Categorías
17:55 - 25

Edición de Categorías con Patch Value en Angular
11:16 - 26

Editar y Crear Categorías con un Solo Formulario
06:01
- 27

Patrón Smart y DOM Components en Formularios Angular
17:01 - 28

Modificación de Inputs en Angular con Setters y Ciclo de Vida
09:49 - 29

"Mejoras en Formularios y Validaciones de Productos"
10:13 - 30

Select dinámico con Angular y API de categorías
12:17 - 31

Select dinámico con objetos en Angular y Angular Material
07:45 - 32

Creación de Formularios Dinámicos con Reactive Forms en Angular
15:35
- 33

Conexión de Componentes Propios a Reactive Forms en Angular
19:40 - 34

Optimización de búsquedas con NGRX y HTTP en Angular
15:46 - 35

Optimización de Búsquedas con Debounce Time en Angular
06:47 - 36

Fundamentos de Accesibilidad Web para Desarrolladores
07:01 - 37

Rendimiento y Optimización en Aplicaciones Angular
01:27
¿Cómo crear un servicio en Angular para conectar con una REST API?
Para establecer una conexión con una REST API desde Angular, primero es imprescindible tener claro cómo funciona el protocolo de comunicación y aprovechar las herramientas que Angular ofrece. En este caso, nos centramos en la creación de un servicio que permita listar, crear y actualizar categorías.
Paso 1: Importar los módulos necesarios
Primero, asegúrate de tener el módulo de HTTP importado en tu aplicación Angular, utilizando el paquete de Angular común:
import { HttpClient } from '@angular/common/http';
La inyección del cliente HTTP se realiza dentro del constructor del servicio, permitiendo realizar solicitudes HTTP a la API.
Paso 2: Configurar las variables de entorno
Es fundamental manejar variables de entorno para definir la URL de la API. En Angular, esto suele hacerse mediante un archivo environment:
import { environment } from '../environments/environment';
Este archivo proporciona la configuración necesaria para conectar con la API externa, incluyendo la URL base, llaves y otros parámetros.
Paso 3: Definir el modelo de datos
Asegúrate de tener un modelo que represente la estructura de datos con la que trabajarás. En este tutorial, creamos un modelo simple de 'Categoría':
export interface Category {
id: string;
name: string;
image: string;
}
Paso 4: Implementar los métodos del servicio
Implementa los métodos que interactuarán con la API. A continuación, se presenta un ejemplo básico de los métodos más comunes como 'get', 'post' y 'put':
Obtener todas las categorías
getCategories(): Observable<Category[]> {
return this.http.get<Category[]>(`${environment.apiUrl}/categories`);
}
Crear una categoría
createCategory(data: Partial<Category>): Observable<Category> {
return this.http.post<Category>(`${environment.apiUrl}/categories`, data);
}
Actualizar una categoría
updateCategory(id: string, data: Partial<Category>): Observable<Category> {
return this.http.put<Category>(`${environment.apiUrl}/categories/${id}`, data);
}
¿Cómo conectamos el formulario con la API?
Integrar el formulario en Angular para que interactúe con los métodos del servicio es crucial para la funcionalidad de la aplicación.
Inyectar el servicio en el componente
Primero, importa e inyecta el servicio en el componente:
import { CategoryService } from '../core/category.service';
constructor(private categoryService: CategoryService) {}
Vincular el formulario HTML con la lógica
Asegúrate de asociar los eventos del formulario HTML con la lógica del componente:
<form (ngSubmit)="save()">
<input name="name" [(ngModel)]="category.name" required>
<input name="image" [(ngModel)]="category.image" required>
<button type="submit">Guardar</button>
</form>
Implementar la lógica para guardar los datos
Dentro del componente, implementa la función 'save' que activará el método del servicio para crear o actualizar datos:
save() {
if (this.form.valid) {
this.categoryService.createCategory(this.form.value).subscribe((response) => {
// Lógica después de guardar
this.router.navigate(['/admin/categories']);
});
} else {
console.error('Formulario no válido');
}
}
¿Qué debemos tener en cuenta al realizar peticiones?
Durante el proceso de desarrollo, debes validar tanto en el frontend como en el backend. Usamos markAllAsTouched en Angular para marcar campos de formulario y advertir al usuario sobre errores.
Además, la API debería responder con mensajes claros cuando un campo no sea válido. Angular podría mostrar mensajes de errores en el frontend basándose en las respuestas del backend.
¡Sigue explorando y experimenta! Practica listando las categorías en un componente con una tabla y prueba la funcionalidad de creación. Una vez listo, pasa al siguiente nivel aprendiendo cómo gestionar el almacenamiento de imágenes con servicios en la nube. ¡Un fascinante mundo te espera!