¿Cómo crear una API que obtenga nombres y perros aleatorios con ExpressJs?

Genaro Melgar
3 min readNov 5, 2019

--

En este artículo se explica la forma en la que podemos hacer una API con una forma muy sencilla y rápida. Comencemos

Primero, tenemos que crear una carpeta con el nombre del proyecto en la ruta que deseemos, luego correremos el siguiente comando.

npm init

Esto generará un archivo paquete.json donde encontrarás la descripción del proyecto, scripts y dependencias de esta forma.

{"nombre": "servidor de ejemplo","versión": "0.0.1","description": "Ejemplo de montaje de servidor de express.JS","main": "index.js"}"guiones": {"prueba": "eco \" Error: no se especificó la prueba \ "&& salida 1",}"autor": "","licencia": "ISC","dependencias": {}}

Por convención y buenas practivas agregaremos un apartado motores al archivo de paquete.json que dirá la versión mínima con el cual trabajar este proyecto.

{"nombre": "servidor de ejemplo","versión": "0.0.1","description": "Ejemplo de montaje de servidor de express.JS","main": "index.js","motores": {"nodo": "> = 8.16.0"}

Posteriormente generaremos un archivo con la siguiente nomenclatura ".gitignore", este archivo genera un archivo que no quiere que se muestren los incluidos. Este archivo puede ser generado automáticamente en la siguiente página.

Ahora también generaremos un archivo .nvmrc solamente con la versión que se utilizará en el proyecyo, en este caso la versión 8.16.0.

Posteriormente se instalarán todas las dependencias.

git init // inicializa el repositorio en gitnpm install --save express // instala expressnpm install --save body-parser // Permite regresar una petición en formato jsonnpm install --save cat-names // contiene una matriz de 100 nombres de gatosnpm install --save dog-names // contiene una matriz de 100 nombres de perrosnpm install -g nodemon // permite actualizar la forma automática

¡Ahora podemos empezar a escribir código!

Primero crearemos un archivo llamado index.js, en donde declararemos todas las constantes que utilizaremos.

const express = require ('express')const app = express ()const bodyParse = require ('body-parser')const catNames = require ('cat-names'); // Contiene una matriz de 100 nombres de gatosconst dogNames = require ('nombres de perros'); // Contiene una matriz de 100 nombres de perros

Después de usar el cuerpo-parser para permitir las solicitudes en formato json y decodificar la url de forma extendida con las siguientes lineas de código:

app.use (bodyParse.json ())app.use (bodyParse.urlencoded ({extended: true}))

Si tienes alguna duda, puedes consultar la documentación de body-parser en el siguiente enlace:

Posteriormente generaremos una petición OBTENER para obtener las rutas que le devolverán el nombre de un perro o gato, cual sea el caso.

app.get ('/ dog', (req, res) => res.json ({estado: "éxito",animal:{isAdog: verdadero,dogName: `$ {dogNames.female [Math.floor (Math.random () * dogNames.female.length)]}`,}}))app.get ('/ cat', (req, res) => res.json ({estado: "éxito",animal:{isACat: verdadero,catName: `$ {catNames.all [Math.floor (Math.random () * catNames.all.length)]}`,}}))

Como se puede observar, regresa a un archivo. Json con contenido un estado y un nombre , dentro del argumento de un nombre se lleva a cabo una operación matemática que genera un nombre aleatorio.

Ahora ingresaremos esta última línea de código que generará un escuchador en el puerto 3000 en este caso en el medio del servidor de sus ordenadores.

app.listen (3000)

Por último escribir en consola el siguiente comando para correr nuestro servidor con la ayuda del paquete "nodemon" previamente instalado.

nodemon index.js

Usted puede visualizar su petición desde alguna herramienta como insomnio, cartero o simplemente desde su navegador con estas rutas.

http: // localhost: 3000 / dog http: // localhost: 3000 / cat

--

--