El entorno de tiempo de ejecución NodeJS se ha convertido en una opción popular para construir aplicaciones web modernas debido a su eficiente arquitectura basada en eventos y su base en JavaScript. Dentro de este ecosistema, Express destaca como un marco de trabajo web prominente, que ofrece un enfoque robusto y optimizado para el desarrollo.
Presentamos Apidog, una sofisticada herramienta de API que proporciona a los desarrolladores una herramienta de generación de código para un desarrollo de aplicaciones y API más eficiente.
Para obtener más información sobre lo que Apidog tiene para ofrecer, haz clic en el botón de abajo.
Una de las piedras angulares de las API web eficaces reside en la utilización de métodos HTTP que dictan cómo se interactúa con los recursos. El método PUT desempeña un papel crucial en este contexto, permitiendo a los desarrolladores realizar actualizaciones específicas en los recursos existentes.
Antes de profundizar en la realización de solicitudes PUT con NodeJS Express, comprendamos completamente qué son NodeJS y Express por separado.
¿Qué es NodeJS?
NodeJS es un software de código abierto que rompe el molde al permitir que JavaScript se ejecute fuera de los navegadores web. Esta flexibilidad se extiende a través de diferentes sistemas operativos, lo que la convierte en una herramienta versátil para los desarrolladores. Este documento profundiza en lo que NodeJS ofrece, explorando sus capacidades y cómo ha cambiado la forma en que abordamos el desarrollo de software.

Características clave de NodeJS
Arquitectura basada en eventos
A diferencia de los servidores web tradicionales, NodeJS no utiliza hilos. En cambio, se basa en un bucle de eventos para manejar múltiples solicitudes de manera eficiente. Este enfoque basado en eventos hace que NodeJS sea ideal para aplicaciones que manejan un gran volumen de conexiones concurrentes, como aplicaciones de chat o transmisión de datos en tiempo real.
JavaScript en todas partes
NodeJS utiliza el motor V8 de JavaScript, el mismo que impulsa Google Chrome, para ejecutar código. Esto permite a los desarrolladores usar JavaScript tanto para el desarrollo front-end como para el back-end, reduciendo la necesidad de aprender y administrar múltiples lenguajes.
E/S no bloqueante
NodeJS utiliza un modelo de E/S no bloqueante. Esto significa que no espera a que las operaciones lentas (como la lectura de una base de datos) terminen antes de manejar otras solicitudes. En cambio, pasa a la siguiente solicitud mientras la operación lenta se completa en segundo plano. Esto mantiene el servidor receptivo y eficiente.
Ecosistema rico y NPM
NodeJS cuenta con una comunidad vasta y activa que contribuye a un administrador de paquetes masivo llamado npm (Node Package Manager). NPM ofrece una amplia variedad de módulos preescritos para diversas funcionalidades, lo que ahorra a los desarrolladores tiempo y esfuerzo al proporcionar componentes de código reutilizables.
Escalabilidad
Las aplicaciones NodeJS se pueden escalar fácilmente horizontalmente. Esto significa que puedes agregar más servidores de trabajo para manejar un mayor tráfico, lo que hace que NodeJS sea adecuado para construir aplicaciones grandes y complejas.
¿Qué es Express?
Express, también conocido como ExpressJS, es un marco de trabajo web popular para NodeJS que permite a los desarrolladores construir aplicaciones web y API con mayor facilidad. Actúa como una capa de abstracción, proporcionando un enfoque más conveniente y estructurado en comparación con trabajar directamente con las funcionalidades subyacentes de NodeJS. Esto se traduce en una reducción significativa del código repetitivo (código boilerplate), lo que permite a los desarrolladores centrarse en la lógica central de sus aplicaciones y acelerar el proceso de desarrollo.

Características clave de ExpressJS
Enrutamiento
ExpressJS sobresale en la definición de rutas, que mapean las URL a funciones específicas que manejan las solicitudes entrantes. Esta organización hace que el código de tu aplicación sea más legible y mantenible.
Middleware
Una fortaleza central de ExpressJS es su funcionalidad de middleware. El middleware actúa como mini-aplicaciones que interceptan las solicitudes y respuestas, lo que te permite realizar tareas comunes como el registro, la autenticación o el servicio de archivos estáticos antes de que la solicitud llegue a su destino final.
Motores de plantillas
ExpressJS se integra perfectamente con varios motores de plantillas como EJS, Pug o Handlebars. Estos motores te permiten crear páginas HTML dinámicas combinando HTML con contenido generado en el lado del servidor.
Manejo de errores
ExpressJS proporciona un enfoque estructurado para el manejo de errores. Puedes definir controladores de errores personalizados para capturar y responder a los errores con elegancia, mejorando la experiencia general del usuario de tu aplicación.
Comunidad y ecosistema
ExpressJS se beneficia de una comunidad de desarrolladores grande y activa. Esto se traduce en una gran cantidad de middleware, bibliotecas y recursos disponibles, lo que ahorra a los desarrolladores tiempo y esfuerzo al construir aplicaciones web.
¿Cómo hacer solicitudes PUT de NodeJS Express?
Para asegurarte de que puedes ejecutar las solicitudes PUT, primero deberás asegurarte de que tu sistema tenga NodeJS y NPM instalados.
Prerrequisitos
Primero, crea un directorio de proyecto e inicializa un proyecto NodeJS dentro de él usando NPM:
mkdir nodejs-put-request
cd nodejs-put-request
npm init -y
A continuación, instala el marco de trabajo ExpressJS como una dependencia para tu proyecto:
npm install express
Paso 1: Construcción de una ruta PUT
Dentro del directorio de tu proyecto, crea un archivo llamado server.js
. Este archivo contendrá la lógica de la aplicación ExpressJS. El fragmento de código a continuación demuestra una ruta PUT básica:
const express = require('express');
const app = express();
const port = 3000;
// In-memory data store (replace with a database for production)
let data = {
id: 1,
name: "John Doe",
age: 30
};
// PUT route for updating data based on ID
app.put('/api/data/:id', (req, res) => {
const id = req.params.id;
const updatedData = req.body;
// Validate data existence before update
if (data.id !== parseInt(id)) {
return res.status(404).send("Data not found");
}
// Update data properties using object spread syntax
data = { ...data, ...updatedData };
res.json(data);
});
app.listen(port, () => {
console.log(`Server listening on port ${port}`);
});
Explicación del código
- Importamos Express y creamos una instancia de aplicación Express.
- Un objeto de datos de muestra sirve como marcador de posición (se usaría una base de datos en producción).
- La ruta PUT (
/api/data/:id
) captura un parámetro ID de la URL. - La existencia de los datos se verifica antes de intentar una actualización.
- Si se encuentran los datos, los datos actualizados del cuerpo de la solicitud se fusionan con el objeto de datos existente utilizando la sintaxis de propagación de objetos (
...
). - Finalmente, los datos actualizados se envían de vuelta en la respuesta como JSON.
Paso 2: Envío de una solicitud PUT (usando Apidog)
Para simular el envío de una solicitud PUT, puedes utilizar una herramienta como Apidog.

Lo que necesitas hacer es:
- Establece el método HTTP en PUT.
- Define la URL como
http://localhost:3000/api/data/1
(reemplaza 1 con el ID deseado). - En la pestaña del cuerpo, establece el tipo de contenido en JSON y proporciona los datos que deseas actualizar (por ejemplo, {"name": "Jane Doe"}).
- Envía la solicitud.
La sección a continuación destacará más sobre lo que Apidog tiene para ofrecer.
Consideraciones importantes y mejores prácticas
Este ejemplo sirve como una ilustración fundamental para realizar solicitudes PUT con NodeJS Express. Recuerda incorporar características adicionales en tus aplicaciones del mundo real:
- Manejo de errores: Implementa mecanismos robustos de manejo de errores para gestionar con elegancia los posibles problemas durante el proceso de actualización.
- Validación: Valida los datos entrantes para asegurarte de que se ajustan a tu esquema y restricciones definidos.
- Integración de la base de datos: Para las aplicaciones de producción, integra una solución de base de datos como MongoDB o PostgreSQL para el almacenamiento persistente de datos.
- Middleware: Explora las funcionalidades de middleware dentro de ExpressJS para manejar tareas como la autenticación, la autorización y el registro para una aplicación más segura y bien estructurada.
Apidog - Realización de una solicitud PUT
Como se presentó antes, puedes realizar una solicitud PUT en poco tiempo con Apidog, una herramienta integral de desarrollo de API que tiene herramientas completas para todo el ciclo de vida de la API.

Primero, haz clic en el botón Nueva solicitud
para crear una nueva solicitud para la solicitud PUT de NodeJS Express.

A continuación, asegúrate de cambiar la solicitud a una solicitud PUT. En el cuadro resaltado en la imagen, inserta el punto final de la API al que deseas acceder.
Continúa incluyendo los detalles necesarios para tu solicitud PUT.
Genera código JavaScript para tu aplicación con Apidog
Como NodeJS y Express están escritos utilizando el lenguaje de programación JavaScript, necesitarás tener un conocimiento del lenguaje. Afortunadamente, Apidog tiene una función de generación de código.

Primero, localiza el botón </>
que se encuentra alrededor de la esquina superior derecha de la pantalla. Si tienes dificultades para localizar el botón, puedes consultar la imagen de arriba.

Continúa seleccionando el lenguaje de programación del lado del cliente que necesitas. Tienes el poder de elegir con qué biblioteca de JavaScript te sientes más cómodo.
Todo lo que necesitas hacer es copiar y pegar el código en tu IDE, y continuar con la edición para asegurarte de que se ajuste a tu aplicación NodeJS. Sin embargo, si estás interesado en usar Unirest como se muestra en la imagen de arriba, puedes consultar el artículo aquí:

Conclusión
NodeJS Express permite a los desarrolladores construir API robustas y versátiles que integran a la perfección las solicitudes PUT para actualizaciones de recursos específicas. Esta guía exploró los conceptos centrales involucrados en el manejo de solicitudes PUT dentro de las aplicaciones NodeJS Express. Recorrimos el establecimiento de un proyecto, la creación de una ruta PUT y la simulación de una solicitud utilizando Postman.
Recuerda, esto sirve como base. Las aplicaciones del mundo real deben incorporar las mejores prácticas como el manejo de errores, la validación de datos, la integración de la base de datos y el middleware para un enfoque de desarrollo integral y seguro. Al dominar las solicitudes PUT dentro de NodeJS Express, puedes administrar y actualizar eficazmente los recursos dentro de tus aplicaciones web y API.