Los pipes tienen dos funciones principales validar y transformar.
Introducción a NestJS
¿Qué es NestJS?
Crea tu primer proyecto con NestJS
Estructura de aplicaciones en NestJS
Presentación del proyecto: Platzi Store
Repaso a TypeScript: tipos y POO
REST API
Introducción a controladores
GET: cómo recibir parámetros
GET: parámetros query
Separación de responsabilidades
Instalación de Postman o Insomnia
Qué es el método POST
Métodos PUT y DELETE para editar y eliminar
Códigos de estado o HTTP response status codes
Integridad de datos
Introducción a servicios: crea tu primer servicio
Implementando servicios en tu controlador
Manejo de errores con throw y NotFoundException
Introducción a pipes: usa tu primer pipe
Crea tu propio pipe
Creando Data Transfers Objects
Validando parámetros con class-validator y mapped-types
Cómo evitar parámetros incorrectos
Próximos pasos
Reto: controladores y servicios restantes
Continúa con el Curso de NestJS: Programación Modular
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
NestJS utiliza el concepto de PIPES para la validación y transformación de los datos antes del ingreso de estos a un controlador.
Los pipes tienen dos casos de uso típicos:
NestJS ya trae consigo una serie de pipes que puedes utilizar para la manipulación de datos. Impórtalos desde @nestjs/common
y úsalos de la siguiente manera.
import { ParseIntPipe } from '@nestjs/common';
@Get('product/:idProduct')
getProduct(@Param('idProduct', ParseIntPipe) idProduct: string): string {
// ...
}
El pipe ParseIntPipe, agrégalo como segundo parámetro del decorador Param
para transformar el parámetro idProduct
y asegurar que este sea un número entero.
De no serlo, arrojará un error y al mismo tiempo estás protegiendo tu aplicación de datos erróneos o maliciosos.
Explora todos los PIPES que NestJS ya tiene preparados para ti.
// src/controllers/products.controller.ts
import {..., ParseIntPipe} from '@nestjs/common';
@Get(':id')
get(@Param('id', ParseIntPipe) id: number) {
return this.productsService.findOne(id);
}
Contribución creada con los aportes de: Kevin Fiorentino y William Abel Condori
Aportes 11
Preguntas 7
Los pipes tienen dos funciones principales validar y transformar.
transformación: transforma los datos de entrada a la forma deseada (por ejemplo, de cadena a entero)
validación: evalúe los datos de entrada y, si son válidos, simplemente páselos sin cambios; de lo contrario, lanza una excepción cuando los datos son incorrectos
La url siempre es un string
Uso de PIPES 1) Transformar información y 2)Validar información
Muy interesante, se me parecen mucho a los Middlewares de Express (lo mismo de que la salida de uno puede ser la entrada del otro durante el request).
Muy interesante el uso de los Pipes, sobre todo con la interacción o uso de parametros en las urls
Tiene un uso muy similar a los middleware
Ejemplo de PIPE para validar y transformar información con el tipo de dato correcto ParseIntPipe
👏
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?