- 1

Instalación y configuración inicial de NestJS para APIs
06:28 - 2

Instalación del CLI de NestJS y primer proyecto con API
11:29 - 3

Creación de endpoints dinámicos para consultar usuarios en NestJS
20:23 - 4

Operaciones CRUD en APIs REST con Postman
23:37 - 5

Método PUT para actualizar usuarios con ID automático
19:42 - 6

Códigos de estado HTTP y manejo de errores en APIs con NestJS
16:07 - 7

DTOs y validación automática de datos en APIs con NestJS
19:31 - 8

Patrón de servicios e inyección de dependencias en NestJS
25:09 - 9

Configuración de variables de entorno en NestJS
20:44 - 10

Creación y organización de módulos en NestJS para aplicaciones escalables
12:26 quiz de Fundamentos y Primer CRUD
Operaciones CRUD en APIs REST con Postman
Clase 4 de 35 • Curso de Backend con NestJS
Contenido del curso
- 11

Configuración de PostgreSQL con Docker y Docker Compose
16:08 - 12

Configuración de PostgreSQL con TypeORM en aplicaciones NestJS
12:17 - 13

Creación de entidades ORM con decoradores en TypeScript
09:17 - 14

Implementación del Repository Pattern con TypeORM en NestJS
29:55 - 15

Relaciones uno a uno entre usuarios y perfiles en PostgreSQL
17:00 - 16

Actualización de DTOs con mapped types en NestJS para perfil y usuario
38:56 - 17

Generación automática de módulos CRUD con NestJS y AI
25:34 - 18

Relaciones uno a muchos con TypeORM en NestJS
17:56 - 19

Creación de entidad Category con relaciones many-to-many en NestJS
15:28 - 20

Relaciones many-to-many con TypeORM y validación de arrays
17:40 - 21

Reutilización de servicios entre módulos en NestJS
09:04 - 22

Configuración de migraciones de base de datos con TypeORM
23:01 - 23

Migraciones de base de datos sin pérdida de información
20:46 quiz de Base de Datos y Persistencia con TypeORM
- 24

Cómo proteger contraseñas con hashing usando Bcrypt en NestJS
10:15 - 25

Serialización de datos para excluir campos sensibles en APIs
04:13 - 26

Configuración de autenticación con Passport en NestJS
19:16 - 27

Implementación de endpoint de login con Node.js y NestJS
09:09 - 28

Implementación de JSON Web Token para autenticación en NestJS
16:15 - 29

Protección de endpoints con JWT guards en NestJS
11:34 - 30

Automatización de user ID en APIs con JWT
11:48 quiz de Autenticación y Autorización
- 31

Integración del SDK de OpenAI en Node.js para automatizar contenido
28:26 - 32

Documentación automática de APIs con Swagger en NestJS
15:59 - 33

Preparar una API Node.js para producción: seguridad y despliegue
10:46 - 34

Desplegar aplicación Node.js a producción con Railway y PostgreSQL
21:11 - 35

Desarrollo de API REST escalable con NestJS en producción
02:36
Comprender el ciclo completo de operaciones CRUD en APIs REST es clave al desarrollar servicios modernos. Este contenido aborda de forma práctica cómo implementar las etapas de create, read y delete usando ejemplos reales y buenas prácticas. Además, muestra el valor de herramientas como Postman para testear y optimizar endpoints, facilitando la exploración evitando depender solo de un navegador.
¿Qué son las CRUD Operations y por qué son esenciales en una API REST?
Las CRUD Operations permiten manipular recursos en una API REST bajo los métodos create, read, update y delete. Hasta este punto, el enfoque ha estado en el método read, accediendo a usuarios individuales o múltiples. Sin embargo, integrar el resto de operaciones permite modificar, eliminar y crear usuarios, ajustando los datos conforme a las necesidades de cada negocio.
¿Cómo probar correctamente los endpoints de una API REST?
Aunque el navegador sirve para pruebas iniciales, resulta limitado para ciertos métodos como post y delete. Por esto, se recomienda usar herramientas especializadas como Postman o Insomnia. Postman ofrece una interfaz sencilla para:
- Crear colecciones y organizar requests.
- Cambiar protocolos entre get, post, y delete.
- Enviar información mediante query parameters, headers o el body en formato JSON.
- Visualizar respuestas, status codes y dejar notas aclaratorias.
¿Cómo manejar respuestas y validar la existencia de usuarios en los endpoints?
Implementar respuestas claras mejora la experiencia del usuario y facilita el debugging. Por ejemplo:
- Cuando un usuario no existe, retornar un mensaje como "User not found" evita enviar respuestas vacías.
- Para métodos get, se utiliza el status code 200 si la búsqueda fue correcta. Sin embargo, si no se encuentra el recurso, la respuesta idealmente debe ser diferente (aspecto a perfeccionar).
¿Qué consideraciones hay al crear un usuario mediante post?
Al usar el método post para crear usuarios:
- Se envía la información del usuario (ID, nombre y email) en el body del request, usualmente formateado en JSON.
- La API debería devolver el objeto creado, confirmando la acción.
- NestJS, por convención, responde con el status code 201 cuando se crea un recurso exitosamente.
- La información agregada permanece solo en memoria, por lo que cambios en el código reinician los datos por defecto.
¿Cómo funciona la eliminación de usuarios con delete y cuáles son las mejores prácticas?
El método delete funciona de manera análoga al get, solicitando el ID del usuario a eliminar como parámetro:
- La implementación puede aprovechar métodos como filter o splice de JavaScript para actualizar el arreglo de usuarios.
- Si el usuario existe, se devuelve un mensaje como "usuario eliminado" y un status code 200.
- Si el usuario no se encuentra, el mensaje debe ser "User not found".
- Es recomendable validar previamente la existencia del usuario antes de intentar eliminarlo, evitando respuestas poco precisas.
¿Cómo automatizar el generamiento de IDs al crear usuarios?
Se plantea el reto de autogenerar el ID de un usuario, evitando que se envíe manualmente en el body. Algunas alternativas para un array en memoria incluyen:
- Asignar el siguiente número entero según la cantidad de usuarios existentes.
- Generar un string o número randómico único.
De este modo, el backend mantendría la integridad de los identificadores, simplificando los requests y fortaleciendo la lógica de la API.
¿Has utilizado alguna técnica diferente para gestionar los IDs de tus usuarios? Comparte tus hallazgos y seguimos aprendiendo juntos.