Node.JS

Petición HTTP GET simple en Node.js con request

Node, JavaScript del lado del servidor, provee un modo para comunicarse a través de http: el módulo http. Sin embargo, este módulo es un poco largo de usar, así que se han creado varios módulos o paquetes y uno de ellos es request.

El módulo de request tiene otra envoltura llamada request-promise, el cual es como request pero usando promesas.

En fin, vamos a ver cómo hacer una petición GET HTTP usando Node y el módulo request. Será un ejemplo sencillo y básico pero que servirá para ejemplos más avanzados.

Instalar node y las dependencias

Primero debemos configurar e instalar Node con NPM, luego ejecutamos:

npm install --save request

Lo que instalará el módulo request, y finalmente lo siguiente para la envoltura:

npm install --save request-promise

Con eso podemos comenzar a trabajar.

Lo que vamos a consumir

Las peticiones GET funcionan para muchas cosas y sirven en muchos escenarios, pero vamos a enfocarnos en consumir un json con la API de JSONPlaceholder.

Vamos a consultar usuarios y luego decodificarlos con JSON para finalmente mostrarlos en la consola. Un ejemplo de respuesta es este:

Ejemplo de respuesta de la API de JsonPlaceholder

Lo vamos a hacer pero con código de JavaScript.

Ahora sí, ejemplo de petición HTTP GET a servidor con JSON en Node.js

Aquí está el código y abajo lo explico:

/**
 * Simple ejemplo de petición GET HTTP con
 * Node.js y el módulo request
 * 
 * @author parzibyte
 */
const request = require("request-promise"),
    RUTA = "https://jsonplaceholder.typicode.com/users";

request({
    uri: RUTA,
    json: true, // Para que lo decodifique automáticamente 
}).then(usuarios => {
    usuarios.forEach(usuario => {
        console.log(`Tenemos a un usuario llamado ${usuario.name} con correo ${usuario.email}`);
    })
});

Por cierto, la ruta es: https://jsonplaceholder.typicode.com/users

Se hace la petición pasándole a request un objeto con algunos ajustes (aquí la documentación). En este caso pasamos la uri, que es la ruta a la que se hará la petición, y también se pasa la opción de json en true para que automáticamente decodifique el JSON.

Cuando se reciben los usuarios, se iteran con forEach y listo, se imprimen sus datos.

Fue un ejemplo sencillo pero que muestra cómo consumir una API JSON con Node.

Te invito a ver más tutoriales de JavaScript y Node.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

1 semana hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

2 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

2 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

2 semanas hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

2 semanas hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

2 semanas hace

Esta web usa cookies.