En la entrega anterior vimos cómo consumir un sencillo servicio hecho en Node desde una aplicación Spring Boot. ¿Pero qué de una API pública?
Una API pública es un servicio que puede ser accesible para desarrolladores externos o para aplicaciones de terceros para poder probar su funcionalidad.
Nosotros probaremos una de ellas: Chuck Norris IO
La cual es una de las más populares para probar.
Comenzamos creando el directorio del proyecto:
$ mkdir proyecto-rest $ cd proyecto-rest
Creamos el proyecto Node:
$ npm init -y
Necesitaremos instalar Express (en caso de no tenerlo instalarlo):
$ npm install express
Puedes validar si lo tienes instalado de esta manera:
$ npm show express
Creamos una aplicación ``app.js`` con el siguiente contenido:
import express from 'express'; const app = express(); const port = 3000; app.get('/', (req, res) => { res.send('Consumiendo una API pública.'); }); app.listen(port, () => { console.log(`Escuchando desde el puerto: http://localhost:${port}`); });
Editamos el ``package.json``:
{ "name": "proyecto-rest", "version": "1.0.0", "main": "index.js", "scripts": { "start": "node app.js", "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "Alquimista de Código.", "license": "ISC", "description": "Consumiendo una API pública.", "type": "module", "dependencies": { "express": "^5.1.0" } }
Esta configuración nos permitirá ejecutar la aplicación con el siguiente comando:
$ npm start
Usaremos la función fetch para realizar solicitudes HTTP, en este caso: acceder a la API pública.
Editamos ``app.js``
import express from 'express'; const app = express(); const port = 3000; const PUBLIC_API = 'https://api.chucknorris.io/jokes/random'; app.get('/', (req, res) => { res.send('Hola, mundo desde Node JS y Express.'); }); app.get('/api/consume', async (req, res) => { try { fetch(PUBLIC_API) .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Error:', error)); } catch (error) { console.error('Error al tratar de consumir API Pública:', error); res.status(500).json({ error: 'Error al tratar de consumir API Pública.' }); } }); app.listen(port, () => { console.log(`Escuchando desde el puerto: http://localhost:${port}`); });
Ejecutamos la aplicación y nos ubicamos en la ruta http://localhost:3000/api/consume
$ npm start
Si todo va bien, veremos algo como esto en la consola:
{ categories: [], created_at: '2020-01-05 13:42:20.262289', icon_url: 'https://api.chucknorris.io/img/avatar/chuck-norris.png', id: 'KD6HcQtfRfGcfCEdsx_lmw', updated_at: '2020-01-05 13:42:20.262289', url: 'https://api.chucknorris.io/jokes/KD6HcQtfRfGcfCEdsx_lmw', value: 'Chuck Norris once had a zoo, he said that most of it tasted like chicken.' }
¡Hemos consumido una API pública desde una aplicación Node!
Enlaces:
https://ed.team/blog/las-mejores-apis-publicas-para-practicarhttps://medium.com/@diego.coder/las-mejores-apis-p%C3%BAblicas-para-practicar-programaci%C3%B3n-a7419ecc968e
https://axios-http.com/
Comentarios
Publicar un comentario