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:
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.
Pingback: Consumir API de DuckDuckGo con Node.JS - Parzibyte's blog