Imagen del artículo Trabajar con rutas en ExpressJS: Validar datos en rutas

7.10. Trabajar con rutas en ExpressJS: Validar datos en rutas

Página 56 | Escuchar en audio

ExpressJS es un marco de aplicación de red Node.js minimalista y flexible que proporciona un sólido conjunto de funciones para crear aplicaciones web y móviles. Una de las características principales de ExpressJS es su facilidad para configurar rutas, lo cual es crucial para crear API. Cuando se trabaja con rutas en ExpressJS, es importante asegurarse de que los datos pasados ​​a través de estas rutas estén validados. La validación de datos es un paso importante para garantizar la integridad de los datos y la seguridad de las aplicaciones.

Para comenzar a trabajar con rutas en ExpressJS, primero necesitamos instalar y configurar ExpressJS. Esto se puede hacer fácilmente utilizando el administrador de paquetes npm, que se instala junto con Node.js. Una vez instalado ExpressJS, podemos crear un nuevo archivo JavaScript, generalmente llamado 'app.js' e importar ExpressJS a este archivo.

Las rutas en ExpressJS se definen utilizando métodos del objeto de aplicación Express, donde cada método corresponde a un método HTTP. Por ejemplo, app.get() se utiliza para definir una ruta para solicitudes GET y app.post() para solicitudes POST. Cada ruta tiene una función de devolución de llamada que se llama cuando la ruta coincide. Esta función de devolución de llamada toma dos argumentos: un objeto de solicitud y un objeto de respuesta.

Para ilustrar la validación de datos en rutas, consideremos un ejemplo de una API que recibe una solicitud POST para crear un nuevo usuario. Los datos del usuario se envían en el cuerpo de la solicitud y pueden incluir campos como nombre, correo electrónico y contraseña. Antes de procesar estos datos y crear el nuevo usuario, debemos validar los datos para asegurarnos de que son del tipo y formato correcto.

app.post('/usuarios', función(req, res) {
  // Obtener datos del usuario del cuerpo de la solicitud
  var usuario = req.body;
  
  // Validar datos de usuario
  if (!nombre.usuario || tipo de nombre.usuario !== 'cadena' || nombre.usuario.longitud > 50) {
    // Si el nombre de usuario no es válido, envía una respuesta de error
    res.status(400).send('Nombre de usuario no válido');
    devolver;
  }
  
  if (!usuario.correo electrónico || !validateEmail(usuario.correo electrónico)) {
    // Si el correo electrónico del usuario no es válido, envía una respuesta de error
    res.status(400).send('Correo electrónico de usuario no válido');
    devolver;
  }
  
  if (!usuario.contraseña || tipo de usuario.contraseña !== 'cadena' || usuario.contraseña.longitud < 6) {
    // Si la contraseña del usuario no es válida, envía una respuesta de error
    res.status(400).send('Contraseña de usuario no válida');
    devolver;
  }
  
  // Si todos los datos son válidos, crea el nuevo usuario
  var nuevoUsuario = crearUsuario(usuario);
  
  //Envía la respuesta con el nuevo usuario
  res.status(201).send(nuevoUsuario);
});

En el ejemplo anterior, validamos los datos del usuario comprobando que el nombre sea una cadena y no demasiado larga, que el correo electrónico sea una dirección de correo válida y que la contraseña sea una cadena y tenga al menos 6 caracteres. Si alguna de estas pruebas falla, enviamos una respuesta con un código de estado 400 (Solicitud incorrecta) y un mensaje de error. Si todas las pruebas pasan, creamos el nuevo usuario y enviamos una respuesta con el nuevo usuario y un código de estado 201 (Creado).

Además de validar los datos en las rutas, también es una buena práctica gestionar los errores de ruta. Esto se puede hacer usando el método app.use() para agregar middleware de manejo de errores. Este middleware debe agregarse después de todas las demás rutas y middleware y tiene cuatro argumentos: un error, un objeto de solicitud, un objeto de respuesta y una función siguiente. Si se pasa un error a la siguiente función en cualquier ruta o middleware, será manejado por el middleware de manejo de errores.

Trabajar con rutas en ExpressJS y validar datos en rutas es un aspecto fundamental de la creación de API en NodeJS. Al garantizar que los datos que pasan a través de las rutas estén validados, podemos mejorar la seguridad de nuestra aplicación y garantizar que los datos que procesamos sean del tipo y formato correctos.

Ahora responde el ejercicio sobre el contenido:

¿Cuál es el papel de la validación de datos en rutas en ExpressJS?

¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.

¡Tú error! Inténtalo de nuevo.

Imagen del artículo Trabajar con rutas en ExpressJS: trabajar con cargas de archivos en rutas

Siguiente página del libro electrónico gratuito:

57Trabajar con rutas en ExpressJS: trabajar con cargas de archivos en rutas

4 minutos

¡Obtén tu certificado para este curso gratis! descargando la aplicación Cursa y leyendo el libro electrónico allí. ¡Disponible en Google Play o App Store!

Disponible en Google Play Disponible en App Store

+ 6,5 millones
estudiantes

Certificado gratuito y
válido con código QR

48 mil ejercicios
gratis

Calificación de 4.8/5
en tiendas de aplicaciones

Cursos gratuitos de
vídeo, audio y texto.