NestJS – Aprende como crear un CRUD completo

Hola a todos, hoy os voy a explicar como podemos crear un CRUD de forma sencilla en nestjs.

Un CRUD (Create Read Update Delete) nos ofrecen las operaciones básicas para gestionar un grupo de elementos ya sea en NestJS u otro sistema backend.

Creación de un proyecto en NestJS

Sino sabes como crear tu proyecto en NestJs, te dejamos un manual:

Como crear un proyecto con NestJS

Creación CRUD

Una vez creado nuestro proyecto, abrimos la terminal y escribimos el siguiente comando:

Nos preguntará que capa de transporte usar, en nuestro caso elegiremos REST API

nestjs crud 1

Después, nos preguntará si queremos crear los entry points, esto lo veremos en el fichero controller, le decimos que si.

nestjs crud 2

Nos crea en la carpeta users con la siguiente estructura:

nestjs crud 3

El fichero user.controller.ts ya contiene los entry points que probaremos después.

El fichero user.module.ts ya contiene todo importado:

El fichero user.service.ts le tenemos que dar nosotros la lógica, esto lo haremos después.

Entidades

La entidad a gestionar será usuarios, por lo que vamos a añadir propiedades a la clase de User del fichero user.entity.ts

Los dtos son clases que reciben los entry points en el controller, antes de tocar estas clases, vamos a instalar lo siguiente:

La dependencia class-validator nos permite validar propiedades de nuestros dtos y class-transformer transforma un objeto a dto.

Veamos como validar un dto:

¿Con esto es suficiente? No, en el fichero main.ts, se debe agregar la siguiente linea, después de crear app, quedando asi:

Miremos la clase UpdateUserDto:

Ese extends PartialType(CreateUserDto) lo que hace es coger las propiedades del usuario y las convierte a todas en opcionales.

Dando lógica a nuestro servicio

Ya con todo esto que tenemos, podemos volver al fichero user.service.ts.

Crearemos un array de objetos que utilizaremos como mock y rellenar la lógica de las funciones. Ojo, esto es un ejemplo, puede variar según lo que se necesite.

Arrancar proyecto NestJS

Ahora, arrancamos el proyecto con el siguiente comando:

nestjs crud 4

Probar endpoints con Postman

Si pones http://localhost:3000 en el navegador, deberías ver esto:

Solo nos falta probar el resto de entry points, para ello, os recomiendo el programa postman, lo puedes descargar aquí.

Te dejo aquí un fichero con todos los entry points para importarlos. En la parte de arriba veras un botón para importarlos, solo arrastra el fichero y tendrás algo como esto:

nestjs crud 5

Probamos cada uno de ellos:

nestjs crud 6 nestjs crud 7 nestjs crud 8 nestjs crud 9 nestjs crud 10

Te lo dejo en video:

Te dejo un repositorio en github con todo lo visto.

Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

Compartir

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


Warning: Trying to access array offset on value of type null in /home2/discodur/public_html/discoduroderoer/wp-content/themes/disto/single.php on line 539