- 1

Conexión a REST APIs con Angular HTTP y buenas prácticas
02:58 - 2

Solicitudes GET en APIs con Angular: Obtener Productos
10:41 - 3

Consulta de Producto Específico en eCommerce con Angular
11:31 - 4

Integración de Swiper en Angular para Galería de Productos
08:12 - 5

Creación de Productos con POST y Data Transfer Objects en Angular
15:59 - 6

Actualización de Datos con Métodos PUT y PATCH en APIs
14:23 - 7

Eliminar productos con solicitudes DELETE en Angular
06:04 - 8

Paginación de Productos con Parámetros URL en Angular
12:45 - 9

Ventajas de los Observables sobre Promesas en Angular
12:22 - 10

Implementación de Retry con Observadores en Angular
03:23
Transformaciones de Datos en el Frontend con Map y Pipes
Clase 14 de 23 • Curso de Consumo de APIs REST con Angular
Contenido del curso
- 11

Solución de Problemas CORS en Aplicaciones Angular
11:33 - 12

Gestión de Ambientes en Angular: Desarrollo vs Producción
05:06 - 13

Manejo de Errores en Observables con Angular
12:06 - 14

Transformaciones de Datos en el Frontend con Map y Pipes
06:02 - 15

Evitando el Callback Hell con SwitchMap y ZIP en Observables
10:42
- 16

Autenticación con JWT: Implementación y Gestión de Sesiones en APIs
19:43 - 17

Autenticación y Manejo de Tokens en Peticiones HTTP
09:31 - 18

Implementación de Interceptores en Angular para Medir Tiempos de Respuesta
08:03 - 19

Interceptores en Angular: Agregar Token Automáticamente
15:04 - 20

Uso de Contextos para Interceptores en Angular
05:50
¿Cómo transformar peticiones en Angular?
Al trabajar con aplicaciones web, a menudo ocurre que los datos que recibimos desde el backend no son del todo adecuados para el frontend. Pueden faltar campos necesarios para mostrar información o realizar cálculos adicionales. En estos casos, es esencial entender cómo transformar peticiones en Angular para enriquecer los datos adicionando o calculando atributos nuevos antes de presentarlos al usuario.
¿Cómo se añade un atributo desde el frontend?
Para añadir atributos calculados en el frontend, el método getAllProducts será nuestra base de trabajo. Imaginemos que deseamos añadir un campo adicional llamado taxes a cada producto, que no está incluido en la respuesta del backend pero es crucial para nuestros usuarios.
-
Declarar el nuevo atributo: Primero, indicaremos que cada
producttendrá un campo adicional llamadonumber, el cual será opcional. Esto se realiza en la definición del producto.export interface Product { id: string; name: string; price: number; // Nuevo campo opcional number?: number; } -
Calcular el nuevo atributo en el servicio: Luego, usaremos el operador
mapdel servicio para calcular este nuevo atributo.getAllProducts() { return this.http.get<Product[]>(this.apiURL) .pipe( map(products => products.map(product => ({ ...product, taxes: product.price * 0.19 // Suponiendo un IVA del 19% }))) ); }
¿Cuál es el papel del operador map en la transformación?
El operador map en Angular es fundamental para transformar datos observables. Al recibir un array de productos, podemos aplicarle nuevas transformaciones, convirtiendo cada respuesta en algo más acorde a nuestras necesidades.
- Transformaciones observables: Esto implica analizar la respuesta del backend y modificarla antes de su consumo.
- Transformaciones de elementos: Una segunda transformación utiliza el
mapnativo de JavaScript para aplicar cambios específicos en cada elemento del array.
Esta fluidez y adaptabilidad pueden ser vitales cuando los requisitos de negocio cambian o el diseño de la UI requiere información específica.
¿Cómo mejorar la presentación de datos con pipes?
Cuando calculamos valores como el de impuestos, es común enfrentarse a la presentación de números con varios decimales. Angular provee pipes que son herramientas útiles para transformar la salida de manera visualmente atractiva.
-
Uso del pipe de moneda: Podemos usar el pipe especial para manejar la presentación de monedas, asegurando que el valor se muestre adecuadamente en la interfaz, con el formato regional correcto.
<span>{{ product.taxes | currency:'USD':true }}</span>
Este formato no solo mejora la legibilidad de la información, sino que también aumenta la usabilidad de la aplicación al adaptar los datos a las expectativas de los usuarios.
¿Cuáles son las mejores prácticas de transformación?
Es importante recordar que la lógica de negocio debe residir en los servicios, para que el componente se dedique simplemente a su responsabilidad principal: renderizar y gestionar la interacción con el usuario. Esto facilita la reutilización de código y mantiene el componente limpio y manejable. Además:
- Aislar la lógica en el servicio: Esto permite que la transformación o cualquier operación sobre los objetos de datos sea más mantenible.
- Reutilizar lógica de transformación: Facilita la integración con otros componentes que puedan requerir datos de manera similar.
En fin, el uso inteligente de estas transformaciones en Angular puede optimizar el proceso de desarrollo, asegurando al mismo tiempo que la aplicación se mantenga flexible y preparada para escalar o adaptar requisitos futuros. ¡Sigue aprendiendo y viendo cómo estos conceptos pueden aplicarse en otros contextos!