NodeJS, junto con ExpressJS, es una de las herramientas más populares para crear API REST. En este capítulo de nuestro libro electrónico, aprenderemos cómo crear una API REST básica utilizando estas tecnologías y también cómo documentar la API para facilitar su uso por parte de otros desarrolladores.
1. Configurando el entorno
Primero, necesitamos instalar NodeJS y ExpressJS. NodeJS se puede descargar e instalar desde el sitio web oficial. Después de instalar NodeJS, podemos instalar ExpressJS usando el administrador de paquetes npm, que se instala junto con NodeJS. En la terminal, ejecute el siguiente comando:
npm instalar express --guardar
2. Creando la estructura básica de la API
A continuación, creemos la estructura básica de nuestra API. Primero, cree un nuevo archivo llamado app.js. Este será el punto de entrada para nuestra API. Agregue el siguiente código al archivo:
const expresar = requerir('expresar'); aplicación constante = expresar(); aplicación.escuchar(3000, () => { console.log('La API se está ejecutando en http://localhost:3000'); });
Este código simplemente crea un nuevo servidor ExpressJS que escucha en el puerto 3000.
3. Agregar rutas
Las API REST se basan en rutas, que son URL que representan diferentes recursos. Agreguemos algunas rutas básicas a nuestra API. Agregue el siguiente código al archivo app.js:
aplicación.get('/', (req, res) => { res.send('¡Bienvenido a nuestra API!'); }); app.get('/usuarios', (req, res) => { res.send('Lista de usuarios'); }); app.get('/usuarios/:id', (req, res) => { res.send(`Usuario con ID ${req.params.id}`); });
Estas rutas responden a solicitudes GET. La primera ruta responde a la URL base (/) con un mensaje de bienvenida. La segunda ruta responde a la URL /users con una lista ficticia de usuarios. La tercera ruta responde a la URL /users/:id, donde :id es un parámetro que puede tener cualquier valor. Esta ruta devuelve un usuario ficticio con la identificación especificada.
4. Creando una base de datos ficticia
Para hacer nuestra API un poco más interesante, creemos una base de datos ficticia de usuarios. Agregue el siguiente código al archivo app.js:
usuarios constantes = [ {id: 1, nombre: 'Alicia' }, {identificación: 2, nombre: 'Bob' }, {identificación: 3, nombre: 'Charlie'} ]; app.get('/usuarios', (req, res) => { res.enviar(usuarios); }); app.get('/usuarios/:id', (req, res) => { const usuario = usuarios.find(u => u.id === parseInt(req.params.id)); if (!usuario) res.status(404).send('Usuario no encontrado'); else res.send(usuario); });
La ruta /users ahora devuelve la lista de usuarios de nuestra base de datos ficticia, y la ruta /users/:id devuelve el usuario con la identificación especificada, o un error 404 si no se encuentra el usuario.
p >5. Documentar la API
La documentación es una parte esencial de cualquier API. Permite que otros desarrolladores comprendan cómo utilizar la API. Hay varias herramientas disponibles para documentar las API, pero una de las más populares es Swagger. Swagger le permite crear documentación interactiva para su API que se puede ver en un navegador web.
Para agregar documentación de Swagger a nuestra API, primero debemos instalar el paquete swagger-ui-express:
npm instala swagger-ui-express --save
A continuación, podemos agregar el siguiente código al archivo app.js:
const swaggerUi = require('swagger-ui-express'); const swaggerDocument = require('./swagger.json'); app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument));
Este código agrega documentación de Swagger a la ruta /api-docs. El archivo swagger.json contiene la documentación de la API en formato JSON. Este archivo debe crearse manualmente y debe seguir la especificación OpenAPI.
La documentación de API es un tema complejo que merece un capítulo propio, pero esperamos que este breve tutorial le haya dado una idea de cómo crear una API REST básica con NodeJS y ExpressJS y cómo documentarla. En el próximo capítulo, exploraremos cómo agregar autenticación a nuestra API.