simular-api-rest-conjson-server

Crear APIs REST rápidamente con JSON Server

JSON Server es una herramienta de código abierto que permite crear una API RESTful a partir de un archivo JSON.

Es una herramienta increíblemente útil para desarrollar y probar aplicaciones web al permitirnos crear rápidamente una API REST completa a partir de un archivo JSON.

JSON Server emula un servidor RESTful con funcionalidades completas como CRUD (Crear, Leer, Actualizar, Eliminar) sin necesidad de configurar un backend completo.

Algunas de las principales características de JSON Server son:

  • Configuración Rápida: Nos permite iniciar un servidor API con una configuración mínima, usando solo un archivo JSON.
  • Soporte para CRUD: Proporciona soporte completo para operaciones de Crear, Leer, Actualizar y Eliminar.
  • Personalización: Permite definir rutas personalizadas, filtros de búsqueda y realizar otras configuraciones.
  • Ideal para Prototipos: Perfecto para pruebas y desarrollo rápido, antes de implementar una solución backend completa

Cómo instalar JSON Server

Instalar JSON Server

Ejecutamos el siguiente comando para instalar JSON Server en nuestro proyecto:

npm install json-server

Crear un archivo JSON

5Necesitamos un archivo JSON que sirva como nuestra base de datos. Creamos un archivo llamado db.json en la raíz de nuestro proyecto con el siguiente contenido de ejemplo:

{
  "posts": [
	{ "id": 1, "title": "Post 1", "author": "Author 1" },
	{ "id": 2, "title": "Post 2", "author": "Author 2" }
  ],
  "comments": [
	{ "id": 1, "body": "Comment 1", "postId": 1 },
	{ "id": 2, "body": "Comment 2", "postId": 1 }
  ]
}

Este archivo define dos recursos: posts y comments, cada uno con algunos datos iniciales.

Cómo usar JSON Server

Con JSON Server instalado y nuestro archivo JSON creado, podemos iniciar el servidor y comenzar a interactuar con nuestra API RESTful.

Iniciar el Servidor

Para iniciar el servidor, usamos el siguiente comando, especificando el archivo JSON que queremos usar:

npx json-server db.json

Este comando inicia el servidor y observa los cambios en el archivo db.json. Por defecto, el servidor se ejecuta en el puerto 3000, pero podemos especificar un puerto diferente si es necesario:

npx json-server db.json --port 4000

Realizar Solicitudes a la API

Una vez que el servidor está en funcionamiento, podemos realizar solicitudes HTTP a la API utilizando herramientas como Postman , Insomnia o curl, o directamente desde nuestro código. Aquí mostramos algunos ejemplos de cómo interactuar con la API:

  • Obtener todos los posts:
curl http://localhost:3000/posts
  • Obtener un post específico:
curl http://localhost:3000/posts/1
  • Crear un nuevo post:
curl -X POST -H "Content-Type: application/json" -d '{"title": "Post 3", "author": "Author 3"}' 
  • Actualizar un post existente:
curl -X PUT -H "Content-Type: application/json" -d '{"title": "Updated Post 1", "author": "Author 1"}' http://localhost:3000/posts/1
  • Eliminar un post:
curl -X DELETE http://localhost:3000/posts/1

Personalización de Rutas y Filtros

JSON Server permite personalizar rutas y agregar filtros para manejar solicitudes más complejas. Por ejemplo, podemos usar parámetros de consulta para filtrar resultados:

curl http://localhost:3000/posts?author=Author%201

También podemos definir rutas personalizadas y crear controladores personalizados mediante la creación de un archivo server.js. Para más información, leer la documentación del proyecto.