Actualmente, el mundo de la programación está en constante expansión, con herramientas, repositorios y librerías creándose todos los días. Muchas de estas nuevas herramientas las ha creado la comunidad. En este post, te enseñaremos cómo usar sparREST, un repositorio en GitHub ideal para crear API REST en local.
¿Qué es sparREST?
Cuando hablamos de usar sparREST, nos referimos al repositorio sparrest.js creado por Alberto Casero y que nos permite tener un API REST en local.
Para trabajar con este proyecto, debemos tener en cuenta que el repositorio sparrest.json está basado en otra utilidad. Entonces, podemos pensar en él como un tipo de extensión del gran proyecto open source que se llama json-server.
El repositorio sparREST es muy útil, porque nos levanta un API REST en local y nos sirve unos endpoints, en función de un archivo JSON que creamos en nuestro proyecto. En este orden de ideas, la base de datos de este API REST es un JSON.
¿Cómo usar sparREST?
Para usar sparREST, lo primero que debemos hacer es clonarlo desde la URL del repositorio en GitHub. Allí encontrarás un botón de code, con el que podrás copiar la línea HTTP exacta del repositorio y clonarlo usando el comando git clone.
Una vez clonado el repositorio, deberás asegurarte de instalar las dependencias del proyecto. Para ello, basta con insertar el comando npm install en tu consola. Después de este comando, insertarás un npm run start para empezar a usar sparREST.
Como te mencionamos anteriormente, para usar sparREST necesitaremos crear un archivo JSON en el que insertaremos nuestra base de datos. Este archivo es fundamental, pues en este se basará el proyecto para desarrollar los endpoints de nuestra API REST en local. Como en todo el mundo de la programación, podrás llamar este archivo como desees. Sin embargo, nosotros te recomendamos nombrarlo db.json, porque es un nombre corto que fácilmente te recordará a database.
El archivo db.json en su mínima expresión es un objeto vacío. Es decir, podrá tener una sola línea de código que se vea como lo siguiente:
{ }
Una vez creado y guardado este archivo, deberás volver a levantar l API usando el comando npm run start. Al hacer esto, notarás que de manera automática se ha creado una conexión de usuario. Esta conexión se ve de la manera siguiente:
{
“users”: [ ]
}
Como puedes ver, esto quiere decir que nuestro archivo JSON tiene una propiedad users que tiene como valor un array vacío.
¿Qué contiene sparREST?
Antes hemos dicho que el proyecto sparREST nos ofrece determinados endpoints. A continuación, te explicamos exactamente cuáles son:
- POST/auth/register: este endpoint nos permite registrar un usuario. Para ello, recibe como parámetros username y password y devuelve si se ha podido o no registrar al usuario. Es importante tener en cuenta que este endpoint no permite usuarios con el mismo username en el sistema.
- POST/auth/login: este es un endpoint de autenticación que recibe como parámetros username y password y devuelve un token JWT de autenticación.
- POST/upload: este endpoint permite la subida de archivos a través de un atributo file. Ten presente que solo se pueden subir archivos usando el formato multipart/form-data.
Además de los anteriores endpoints, en este proyecto encontraremos un acceso /api/. A continuación, te contamos algunos detalles de este acceso:
- En /api/ encontrarás los endpoints ofrecidos por json-server. Por esto, te recomendamos leer su documentación.
- Para usar los métodos POST, PUT o DELETE en cualquier subruta de /api/, será necesaria la autenticación mediante token JWT.
- Esta autenticación se realiza añadiendo a las peticiones HTTP una cabecera Authorization: Bearer <token>. En este cabecera, <token> es el valor del token obtenido en el endpoint de login.
Ahora que sabes cómo usar sparREST, ¡es el momento de utilizar esta herramienta en tus propios proyectos! Por ello, te recomendamos nuestro Desarrollo Web Full Stack Bootcamp, un espacio de formación intensiva en donde aprenderás a desarrollar tus propios proyectos web con lenguajes de programación como JavaScript, HTML, CSS y JSX. ¿Quieres seguir aprendiendo para transformar tu vida e impulsar tu carrera? ¡Inscríbete ya!