No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Introducción a pipes: usa tu primer pipe

17/23
Recursos

NestJS utiliza el concepto de PIPES para la validación y transformación de los datos antes del ingreso de estos a un controlador.

Casos de uso de PIPES

Los pipes tienen dos casos de uso típicos:

  • Transformación: transforma los datos de entrada a la forma deseada (por ejemplo, de cadena a entero).
  • Validación: evalúa los datos de entrada y, si son válidos, simplemente los pasa sin cambios; de lo contrario, lanza una excepción cuando los datos son incorrectos.

Implementando tu primer PIPE

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

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Los pipes tienen dos funciones principales validar y transformar.

Los pipes tienen dos casos de uso típicos:

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

Este framework es el Angular del backend :o

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).

Los veo como middlewares

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

👏