Excelente forma de validar los datos, ¿Saben como usar un servicio como S3 con Nodejs? ¿Para poder enviar archivos atravez de una petición que tipo de formato debe ser?
Muchas gracias de antemano
Tu primera experiencia con Node.js
¿Dónde aprender backend con Node.js actualizado?
Todo lo que aprenderás sobre backend con Node.js
¿Qué es Node.js?
¿Qué es Node.js y para qué sirve?
Diferencias entre Node.js y JavaScript
Resumen: Diferencias Nodejs y Javascript
Instalación de Node.js
Arquitectura orientada a eventos
Node.js para la web
Manejo y uso de Streams con Node.js
Introducción a streams
Readable y Writable streams
Duplex y Transforms streams
Uso de utilidades de Node.js
Sistema operativo y sistema de archivos
Administrar directorios y archivos
Consola, utilidades y debugging
Clusters y procesos hijos
Crea tu primer proyecto en Express.js
¿Qué es Express.js y para qué sirve?
Creando tu primer servidor con Express.js
Request y Response Objects
Aprende a crear un API con REST
Anatomía de una API Restful
Estructura de una película con Moockaru
Implementando un CRUD en Express.js
Métodos idempotentes del CRUD
Implementando una capa de servicios
Cómo conectarse con librerías externas en Express.js
Creación de una BD en MongoAtlas
Conexión a MongoAtlas una instancia de MongoDB
Conexión con Robot3T y MongoDB Compass a una BD
Implementación de las acciones de MongoDB
Conexión de nuestros servicios con MongoDB
Conoce como funcionan los Middleware en Express.js
¿Qué es un middleware? Capa de manejo de errores usando un middleware
Manejo de errores asíncronos y síncronos en Express
Capa de validación de datos usando un middleware
¿Qué es Joi y Boom?
Implementando Boom
Implementando Joi
Probar la validación de nuestros endpoints
Middlewares populares en Express.js
Implementa tests en Node.js
Creación de tests para nuestros endpoints
Creación de tests para nuestros servicios
Creación de tests para nuestras utilidades
Agregando un comando para coverage
Debugging e inspect
Despliega tu primera aplicación en Express.js
Considerando las mejores prácticas para el despliegue
Variables de entorno, CORS y HTTPS
¿Cómo implementar una capa de manejo de caché?
¿Cómo contener tu aplicación en Docker?
Despliegue en Now
Conclusiones
¿Qué aprendiste en este curso?
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Joi y Boom son tecnologías del ecosistema de HapiJS, pero son tan buenas que las vamos a integrar como middleware en nuestra aplicación de Express.
Boom es un manejador de errores que se presenta de una manera mucho más comprensible. Lo que nos permite es manejar errores de forma amigable. Por ejemplo, si quisiéramos manejar un error Forbidden, simplemente los debemos hacer es: Boom.forbidden([message], [data])
. Recordemos que el error de un forbidden es un 403.
Fíjense que recordar todos los errores http es demasiado complicado. Hay errores 400, errores 500, entre otros.
Lo que hace Boom es facilitarnos su uso al darle el nombre directamente. Le podemos pasar un mensaje y nos devuelve una estructura bastante amigable con el status code, el error y el mensaje
Joi es un object schema validation. Es la librería que nos va a ayudar a validar los esquemas. En el repositorio de Joi podemos ver un ejemplo claro de cómo se usa.
A partir de requerir la librería de Joi, podemos crear un esquema. Por ejemplo, si quisiéramos definir como debería estar escrito nuestro username: username: Joi.string().alphanum().min(3).max(30).required()
y es muy similar para los otros atributos. Por ejemplo, un password: password: Join.string().regex(/ˆ[a-zA-z0-9]{3-30}$/)
Actualmente, Joi se encuentra deprecado y ya no se actualiza.
Aportes 15
Preguntas 2
Excelente forma de validar los datos, ¿Saben como usar un servicio como S3 con Nodejs? ¿Para poder enviar archivos atravez de una petición que tipo de formato debe ser?
Muchas gracias de antemano
Actualmente la documentación de Joi se está poniendo de la siguiente manera:
Alguien también opina que mejor sería usar typescript?
Gracias!
Esto me recuerda Laravel. También su manejador de validación es muy amigable!
ME gustan estas ideas esta muy bueno
muy buenas librerias… me sirven de gran ayuda… esto de los middleware es genial.
que bueno conocer estas herramientas.
GraphQL all the way :p
Interesantes librerias… Ya quiero aprender a usarlas
algún gigachad mas gigachad q este pibe?
Interesantes estas librerías Joi y Boom.
Para ustedes ¿Cuál es mejor?, ¿Qué ventajas tiene cada uno?
Yup Vs Joi
Genial!! gracias 😃
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?