Esta aplicación es una API creada con Node.js, el framework Express.js y JSONPlaceHolder. Proporciona diferentes rutas para gestionar publicaciones, incluyendo la capacidad de listar, crear, editar y eliminar publicaciones. Además, se ha implementado un sistema de autenticación utilizando JWT (JSON Web Tokens) para proteger las rutas relacionadas con las publicaciones.
La documentación de la API ha sido generada automáticamente utilizando Swagger y se encuentra disponible en la siguiente dirección: http://localhost:{puerto}/api/v1/docs/. Asegúrate de reemplazar "{puerto}" con el número correspondiente al puerto en el que se encuentra en ejecución la API.
Esta documentación generada por Swagger proporciona una descripción exhaustiva de cada ruta disponible en la API, incluyendo los parámetros requeridos, los códigos de respuesta y ejemplos prácticos de solicitudes y respuestas.
Se incluye una colección de Postman que puedes utilizar para probar la API de manera interactiva. La colección se encuentra en el archivo "API-Test-CarlosBenitez.postman_collection.json" en la raíz del proyecto. Importa esta colección en tu cliente de Postman para acceder a todas las rutas y realizar solicitudes a la API de forma sencilla.
La colección de Postman también incluye pruebas automatizadas para verificar el funcionamiento correcto de las rutas de la API. Estas pruebas se ejecutan automáticamente al realizar las solicitudes y verifican que las respuestas cumplan con los criterios esperados. Puedes ejecutar las pruebas de manera individual o en conjunto para validar la integridad de la API.
A continuación, se detallan los pasos necesarios para instalar y ejecutar la aplicación en tu entorno local:
- Clona este repositorio en tu máquina local.
- Ejecuta el comando
npm install
dentro de la carpetasrc
para instalar las dependencias. - Configura las variables de entorno necesarias a su gusto en el archivo
.env copy
y modificar el nombre del archivo.env copy
a.env
. - Ejecuta el comando
npm start
para iniciar la aplicación.
La aplicación debería estar funcionando en tu entorno local.
Para realizar pruebas en Swagger y acceder a las rutas protegidas, sigue estos pasos:
-
Abre la documentación de la API en tu navegador accediendo a http://localhost:{puerto}/api/v1/docs/.
-
Busca la ruta de inicio de sesión "Login", y haz clic en ella para expandirla y mostrar más detalles.
-
En la sección de "Request Body", proporciona el objeto JSON con el campo "username" establecido en "prueba" y el campo "password" establecido en "1234".
-
Haz clic en el botón "Try it out" para enviar la solicitud de inicio de sesión a la API.
-
Verifica la respuesta de la API en la sección de "Responses". Si la autenticación fue exitosa, recibirás un token de acceso en la respuesta.
-
Una vez que hayas obtenido el token de acceso, haz clic en el botón "Authorize" en la parte superior de la página de Swagger.
-
En el campo "Value", ingresa el token de acceso que obtuviste en el paso anterior.
-
Ahora puedes utilizar las rutas protegidas de la API, como listar, crear, editar y eliminar publicaciones. Las solicitudes realizadas a estas rutas estarán autenticadas con el token proporcionado.
Recuerda que el token de acceso es necesario para acceder a las rutas protegidas. Asegúrate de incluirlo en cada solicitud a las rutas que lo requieran.
Para realizar pruebas en Postman y acceder a las rutas protegidas, sigue estos pasos:
-
Abre la aplicación de Postman en tu dispositivo.
-
Importa la colección de solicitudes de la API. Puedes encontrar el archivo de la colección en el repositorio de GitHub en la ruta [Colección POSTMAN Api Test].
-
Una vez importada la colección, verás una lista de solicitudes predefinidas que puedes ejecutar.
-
Ubica la solicitud de inicio de sesión "LOGIN". Abre la solicitud para ver los detalles.
-
En el cuerpo de la solicitud, asegúrate de que los campos "username" y "password" estén establecidos correctamente. Por ejemplo, de manera predeterminada "username" es "prueba" y "password" es "1234".
-
Haz clic en el botón de "Enviar" para ejecutar la solicitud de inicio de sesión. Si la autenticación es exitosa, recibirás un token de acceso en la respuesta.
-
Copia el token de acceso generado.
-
Ahora puedes ejecutar otras solicitudes protegidas en la colección. Asegúrate de incluir el token de acceso en la sección de encabezados de cada solicitud. Agrega un encabezado con el nombre "Authorization" y el valor "Bearer {token}", donde "{token}" es el token de acceso que copiaste en el paso anterior.
-
Ejecuta las solicitudes protegidas y verifica las respuestas para asegurarte de que funcionen correctamente.
Recuerda que el token de acceso es necesario para acceder a las rutas protegidas y que estas caducan cada 2 horas. Asegúrate de incluirlo en cada solicitud a las rutas que lo requieran.