Como crear una API con Express y NodeJS

Cuando hablamos de desarrollo móvil, es muy normal interactuar con APIs constantemente. Pero si bien podemos usar una librería como Retrofit para llamar APIs e interactuar con sus respuestas, es importante también tener una idea general de como crearlas.

Pero que es exactamente una API?

Una API (Application Programming Interface) es como una caja negra donde pedimos cierta información y la recibimos en un determinado formato (JSON o XML en general). Existen APIs locales (como GPS de Android, la cual nos permite acceder a datos de geolocalización) y APIs remotas (como Google Maps, que nos permite acceder a la información del mapa, direcciones y demás).

Encontré un video por youtube que explica este concepto mucho más a fondo y ejemplificado:

Entiendo los fundamentos, pero por donde empiezo?

Para plantear el desarrollo de una API, debemos elegir una tecnología de servidor que nos permita crearla de manera ágil. Vamos a usar NodeJS. Pueden descargarlo desde aquí. Una vez que lo tengan instalado, pueden asegurarse que funciona poniendo en la consola (recomiendo usar Cmder) el siguiente comando:

$ node -v

Si nos devuelve la versión, esta bien instalado. En caso contrario, si nos devuelve algo como “comando no encontrado”, debemos proceder a su reinstalación.

Un Framework para dominarlos a todos!

Con NodeJS instalado también deberían tener npm (Node Package Manager), el gestor de dependencias de node. Asi que procedemos a crear un proyecto nuevo:

$ mkdir miProyecto
$ cd miProyecto
$ npm init

Vamos a presionar Enter en todas las opciones que salen, para que el proyecto se configure por defecto. Luego, vamos a escribir:

$ npm install express --save

Lo cual nos va a instalar Express, el framework de Node que nos permitirá crear páginas webs y APIs. Hoy nos vamos a centrar en lo segundo. El “ — save” se asegura de guardar la dependencia en nuestro package-json para que luego cuando otro desarrollador baje nuestro proyecto, solo tenga que escribir:

$ npm install

Y con ello se descargan todas las dependencias automáticamente.

Hola Mundo y un poco mas…

Ahora vamos a crear nuestra API! Va a tener solo un método GET muy simple, pero es un comienzo :).

Vamos a crear un archivo index.js en nuestro directorio del proyecto y agregaremos las siguientes lineas:

var express = require('express');

var app = express();app.get('/', function (req, res) {
  res.send('Hola Mundo!');
});

app.listen(3000, function () {
  console.log('App funcionando en el puerto 3000!');
});

Vamos a analizar paso a paso lo que hicimos:

  • Creamos un objeto express que contiene la referencia a la dependencia de nuestro framework
  • Creamos un objeto app que contiene la inicialización de express.
  • Creamos una ruta get a la url http://localhost:3000/ que nos devolverá un párrafo que dice “Hola Mundo!”
  • Llamamos al método listen con los siguientes parámetros:
  • Puerto: El puerto donde se iniciará nuestro servidor, en este caso 3000.
  • CallBack Function: Cuando el servidor termine de levantarse y funcione correctamente, tenemos un callback para hacer algo, y en este caso devolvemos un texto en consola diciendo que fue todo bien y que estamos corriendo en el puerto 3000.

Ya tenemos un proyecto en Express funcionando! Pero no es una API. Para cumplir dicho requisito debería devolvernos un formato de respuesta diferente, en este caso json. Asi que creamos un objeto en java y se lo pasaremos al método res.send():

app.get('/', function (req, res) {
  var json = {
    message: "Soy una API!",
    version: 1.0.0
  }  
  res.send(json);
});

Y ahora si nos va a devolver un json como corresponde. Podríamos acortar este código y ahorrarnos unas lineas de la siguiente manera:

app.get('/', function (req, res) {
  res.send({
    message: "Soy una API!",
    version: 1.0.0
  });
});

Para probar el servidor andando vamos a escribir en consola:

$ node index.js

Y con esto ya tienen una API funcionando, felicidades! 😀

Espero que este artículo les haya sido de utilidad y nos vemos en el siguiente!

Seguinos en Facebook para conocer más acerca de Wolf Academy y conocer todos nuestros cursos online!

¡Deja un comentario!

Artículos relacionados

Cómo Migrar WordPress y Woocommerce con Azure

Las migraciones en WordPress siempre fueron un tema difícil de tratar. Las guías se centran en los backups locales pero no tanto en las restauraciones del lado del servidor. Los plugins en general tampoco ayudan demasiado: Apenas instalamos alguno, el backup es gratuito, pero la migración requiere un servicio premium. Por eso decidí armar esta guía, para resolver el dilema de una sola vez. Aclaro que si bien vamos a trabajar con Azure del lado del servidor, se puede hacer con cualquier otro VPS o Hosting siempre y cunado este nos permita una instalación previa de WordPress.

Mi experiencia con WordPress

Mi 2020 arrancó de una manera muy intensa. Debido a que me eligieron para preparar un programa académico de esta tecnología, reforcé mis conocimientos actuales y me introduje de lleno en nuevos e interesantes conceptos que trae esta plataforma de blogging y un poco más.

La Senda del Desarrollador Full Stack

Uno de los tópicos que más me consultan como profesor es “¿por dónde debería empezar?”. Hay muchas tecnologías y una demanda laboral muy alta que incrementó potencialmente estos últimos años. Por eso decidí crear esta guía que va a aplanar el camino a todo el que se inicie como desarrollador en este mismo instante. También reforzará a los experimentados.

Como popular una tabla en base a un servicio con Jquery

La idea es crear una tabla donde tengamos la lista de personajes de StarWars (obtenido con SWAPI) y podamos eliminar uno a uno. Lo primero que vamos a hacer es crear nuestro html e incluirle Bootstrap (Framework de maquetado) y Jquery

Como llamar a una API desde Jquery

Como llamar a una API desde Jquery

Jquery es una librería que nos ayuda a simplificar muchas funcionalidades que existen en Vanilla Javascript pero que son mas complicadas de implementar en esta última.