Blog / Tutoriales / Instalación de JSON Server: configura APIs simuladas
(last updated: )

Instalación de JSON Server: configura APIs simuladas

Este tutorial explica paso a paso cómo instalar y usar JSON Server, además de las ventajas de las APIs "simuladas" para crear prototipos.

Lectura de 11 min

JSON Server te permite configurar rápidamente APIs simuladas para desarrollar aplicaciones frontend sin esperar a que el backend esté listo. Con un solo archivo JSON puedes probar interacciones con datos, crear prototipos y ajustar tu aplicación. En esta guía aprenderás a instalar JSON Server, crear endpoints simulados y usar sus funciones en tus proyectos. 

¿Qué es JSON Server?

JSON Server es una herramienta ligera que permite crear rápidamente una API REST simulada. Usa un archivo JSON sencillo para reproducir los datos que entregaría una API real y funciona como backend temporal durante el desarrollo. Puedes interactuar con los datos mediante solicitudes HTTP y simular las operaciones de un servidor web sin configurar bases de datos ni programar la lógica del servidor. 

Para qué sirve JSON Server

JSON Server agiliza el desarrollo frontend al proporcionar un sustituto del backend que puedes ajustar fácilmente. Así puedes concentrarte en crear y mejorar la interfaz de usuario. Resulta especialmente útil durante las primeras etapas de un proyecto o cuando necesitas preparar un prototipo rápido sin depender del backend real. 

Casos de uso habituales de JSON Server

JSON Server se usa para crear prototipos de funciones nuevas, probar diseños frontend y desarrollar aplicaciones independientes que requieren poca interacción con el backend. También sirve para aprender cómo se comunican el frontend y el backend en un entorno sencillo. Al imitar transacciones de datos reales, facilita las pruebas y permite concentrarse en el comportamiento de la aplicación. 

Ventajas de usar JSON Server

Rapidez y sencillez al simular APIs

JSON Server permite configurar APIs simuladas de forma rápida y directa. En pocos minutos puedes generar una API REST funcional a partir de un archivo JSON sencillo, sin ocuparte de la complejidad habitual del desarrollo backend. Esta configuración resulta práctica para pruebas, prototipos y proyectos con plazos cortos. 

Flexibilidad para probar aplicaciones frontend

Una de las funciones más valoradas de JSON Server es la flexibilidad que ofrece para probar aplicaciones frontend. Puedes modificar estructuras de datos, simular respuestas del servidor y probar distintos escenarios sin cambiar un backend real. Esto ayuda a detectar y corregir problemas del frontend desde las primeras etapas del desarrollo. 

Frameworks y JSON Server

Compatibilidad con React, Angular, Vue.js y otros frameworks

JSON Server funciona con numerosos frameworks frontend, incluidos React, Angular y Vue.js. También puedes integrarlo con prácticamente cualquier framework o librería capaz de enviar solicitudes HTTP. Esta compatibilidad permite incorporar APIs simuladas al proyecto sin importar qué stack tecnológico uses. 

Integraciones específicas para cada framework

Puedes adaptar JSON Server a la forma de trabajar de cada framework. En React sirve para crear prototipos con administración de estado. En Angular puedes simular servicios para probar el cliente HTTP. En Vue.js ayuda a probar el manejo de datos y los componentes. Así puedes preparar estrategias de pruebas y depuración acordes con cada framework. 

Ventajas de las APIs falsas o simuladas

Ciclos de desarrollo más rápidos

Las APIs falsas o simuladas, como las creadas con JSON Server, aceleran el desarrollo. Al sustituir temporalmente los servicios backend, permiten avanzar con el frontend sin esperar a que el backend esté implementado. Este trabajo en paralelo reduce el tiempo total del proyecto y permite iterar y recibir comentarios antes. 

Pruebas y depuración más sencillas

Las APIs simuladas simplifican las pruebas y la depuración. Puedes aislar las funciones del frontend y localizar problemas relacionados con la interfaz o el manejo de datos. Cuando integres el backend real, el frontend ya estará más pulido. También puedes simular distintas respuestas del backend y preparar la aplicación para situaciones reales. 

Requisitos para instalar JSON Server

Requisitos del sistema

Para configurar JSON Server necesitas un entorno básico de desarrollo con Node.js instalado. Así podrás ejecutar los comandos de npm (Node Package Manager) requeridos durante la instalación. JSON Server consume pocos recursos y funciona en la mayoría de los sistemas operativos compatibles con Node.js, incluidos Windows, macOS y Linux. 

Recomendaciones de hosting para JSON Server

Para desarrollo y pruebas suele bastar con ejecutar JSON Server en tu computadora. Si necesitas una instalación permanente o quieres compartir la API simulada con tu equipo, puedes desplegarla en un servidor privado virtual (VPS) o un servidor virtual dedicado (VDS). Estas opciones ofrecen un equilibrio entre costo, rendimiento y aislamiento. Un Dedicated Server suele superar los requisitos modestos de JSON Server, salvo que también alojes otros servicios o aplicaciones que consuman muchos recursos. 

Cómo configurar JSON Server

Configurar JSON Server en una distribución Linux basada en Debian requiere pocos pasos. Al terminar, podrás simular rápidamente una API REST de backend con un solo archivo JSON. 

Pasos de instalación

Primero instalarás Node.js. Después instalarás JSON Server y lo configurarás según las necesidades de tu proyecto. Sigue estos pasos: 

Comandos de configuración

Instalar Node.js

Primero comprueba que Node.js esté instalado en tu sistema. Si todavía no lo tienes, instálalo con estos comandos: 

sudo apt update 
sudo apt install nodejs npm 

Estos comandos instalan Node.js y npm, el administrador de paquetes de Node.js. 

Instalación con npm

Con Node.js y npm instalados, instala JSON Server de forma global en tu computadora. Así podrás ejecutarlo desde cualquier directorio. 

sudo npm install -g json-server

Iniciar JSON Server

Ve al directorio donde se encuentra tu archivo db.json, o donde planeas crearlo, y ejecuta: 

json-server --watch db.json

Este comando inicia el servidor y vigila los cambios del archivo db.json. Cuando modificas el archivo, los datos que entrega la API se actualizan automáticamente. 

Cambiar el puerto de JSON Server

De forma predeterminada, JSON Server se ejecuta en el puerto 3000. Para usar otro puerto, indícalo con la opción –port: 

json-server --watch db.json --port 8000

Opciones de configuración adicionales

JSON Server incluye varias opciones para personalizar su funcionamiento, como servir archivos estáticos o habilitar CORS. Por ejemplo, usa este comando para servir archivos estáticos desde un directorio público junto con tu API: 

json-server --watch db.json --static ./public

Después de estos pasos tendrás un servidor de API simulada funcionando en tu sistema basado en Debian, listo para desarrollo y pruebas. 

Operaciones CRUD y rutas personalizadas

Conceptos básicos de CRUD en JSON Server

JSON Server simula las operaciones CRUD (Crear, Leer, Actualizar y Eliminar), por lo que resulta útil para desarrollar el frontend. Una vez que el servidor esté activo con un archivo db.json, podrás ejecutar estas operaciones mediante solicitudes HTTP: 

  • Crear: usa solicitudes POST para agregar datos. Por ejemplo, POST /posts agrega una publicación nueva a la colección posts de tu archivo db.json. 
  • Leer: recupera datos mediante solicitudes GET. GET /posts obtiene todas las publicaciones, mientras que GET /posts/1 obtiene la publicación con el ID 1. 
  • Actualizar: las solicitudes PATCH o PUT actualizan datos existentes. Por ejemplo, PATCH /posts/1 actualiza parcialmente la publicación con el ID 1. 
  • Eliminar: usa solicitudes DELETE para quitar datos. Por ejemplo, DELETE /posts/1 elimina la publicación con el ID 1. 

Definir y usar rutas personalizadas

Además de las operaciones CRUD básicas, JSON Server permite definir rutas personalizadas en un archivo routes.json. Así puedes decidir cómo estructurar los endpoints de la API y crear rutas más descriptivas para tu aplicación. Por ejemplo: 

{ 
  "/api/posts/:id": "/posts/:id" 
}

Esta definición indica a JSON Server que trate las solicitudes enviadas a /api/posts/:id como solicitudes a /posts/:id. Para usar rutas personalizadas, inicia el servidor con la opción –routes: 

json-server db.json --routes routes.json

Las operaciones CRUD y las rutas personalizadas permiten simular el backend con interacciones de datos y una estructura de API parecidas a las de una aplicación real. 

Otras funciones de JSON Server

JSON Server incluye funciones que amplían las operaciones CRUD básicas y permiten reproducir con más detalle el comportamiento de una API real. 

Ordenamiento, búsqueda y paginación

  • Ordenamiento: ordena los datos devueltos por la API agregando los parámetros _sort y _order a la consulta. Por ejemplo, GET /posts?_sort=title&_order=asc ordena las publicaciones por título de forma ascendente. 
  • Búsqueda: agrega búsquedas mediante el parámetro q. Una consulta como GET /posts?q=javascript busca «javascript» en las publicaciones. 
  • Paginación: JSON Server incluye soporte para paginación. Usa los parámetros _page y _limit, por ejemplo GET /posts?_page=2&_limit=10, para obtener la segunda página con un límite de 10 publicaciones por página. 

Procesar los datos correctamente

Procesar correctamente los datos permite que la API responda como esperas. JSON Server procesa automáticamente los datos JSON. Si trabajas con estructuras más complejas o necesitas aplicar validaciones específicas, puedes usar middleware para procesar y validar los datos entrantes antes de continuar. 

Funciones adicionales en detalle

  • Middleware para autenticación y registros: agrega middleware personalizado para simular mecanismos de autenticación o registrar solicitudes y respuestas. Las funciones de middleware pueden interceptar solicitudes, ejecutar comprobaciones o guardar datos en un registro. Así la API simulada se comporta de forma más parecida a una real. 
  • Archivos estáticos: JSON Server también puede servir archivos estáticos. Coloca estos recursos en un directorio public e inicia el servidor con la opción –static. Podrás probar los recursos del frontend junto con la API simulada. 
  • Condiciones de red lentas: usa middleware para introducir retrasos artificiales en las respuestas y comprobar cómo se comporta tu aplicación bajo distintas condiciones de red. Estas pruebas ayudan a ajustar el rendimiento del frontend cuando la conexión está limitada. 

Estas funciones permiten crear un entorno de desarrollo más realista y controlado. Puedes probar y ajustar tu aplicación antes de conectarla a servicios backend reales. 

Prácticas para manejar errores con JSON Server

Manejo de errores y respuestas inesperadas

Un buen manejo de errores ayuda a mantener una API confiable. JSON Server puede simular respuestas de error para probar cómo reacciona la aplicación ante distintos fallos. Con middleware personalizado puedes interceptar solicitudes y generar la respuesta correspondiente. Por ejemplo, puedes comprobar si faltan campos en una solicitud POST y devolver el estado 400 Bad Request. Estas pruebas permiten detectar problemas que podrían afectar a los usuarios. 

Interacciones confiables con la API

Anticipa y maneja los errores desde el frontend. Comprueba los códigos de estado HTTP, procesa correctamente los mensajes de error y muestra comentarios claros al usuario. Al probar la aplicación con JSON Server bajo distintas condiciones de error, puedes ajustar estos mecanismos y mantener la aplicación operativa cuando ocurra un problema inesperado. 

Consideraciones de seguridad para JSON Server

Implicaciones de seguridad

Usar JSON Server en un entorno compartido o público plantea riesgos de seguridad y privacidad. Como está diseñado para desarrollo, no incluye autenticación ni cifrado integrados. Los datos y las interacciones podrían quedar expuestos a usuarios sin autorización. Ten en cuenta estas limitaciones al proteger tus APIs simuladas, los datos que manejan y la privacidad de las personas representadas en ellos. 

Cómo reducir los riesgos de las APIs simuladas

Ejecuta JSON Server en un entorno controlado, como tu computadora de desarrollo o una red privada segura. Si necesitas compartir la API con un equipo más amplio, usa una VPN o controles de acceso para restringir las conexiones. Evita incluir datos reales sensibles en tus APIs simuladas. Para despliegues que requieran más protección, busca herramientas y plataformas con autenticación y soporte para HTTPS. Estas medidas ayudan a proteger los datos, las interacciones y la privacidad de las personas representadas.

Alternativas a JSON Server

JSON Server es una opción popular para configurar APIs simuladas, pero la comunidad también usa otras herramientas y servicios con funciones parecidas: 

  • Mirage JS (Mirage JS): servidor del lado del cliente para desarrollar, probar y crear prototipos de una app. Es una buena opción si necesitas controlar todas las respuestas de la API. 
  • Mockoon (Mockoon): ofrece una interfaz sencilla para crear APIs simuladas de forma local. Permite simular entornos y configurar rutas sin escribir código. 
  • WireMock (WireMock): librería para crear stubs y simulaciones de servicios web. Incluye funciones detalladas para comparar solicitudes y generar respuestas mediante plantillas, por lo que sirve para escenarios más complejos. 
  • Postman Mock Servers (Postman): forma parte de la plataforma de APIs de Postman y permite crear y administrar servidores simulados directamente desde sus herramientas de pruebas. 

Estas alternativas cubren distintas necesidades, desde simulaciones sencillas hasta pruebas detalladas de APIs y entornos de desarrollo más complejos. 

Puntos finales

JSON Server permite configurar rápidamente APIs REST simuladas, ejecutar operaciones CRUD y trabajar con funciones como ordenamiento, búsqueda y rutas personalizadas. Es compatible con distintos frameworks frontend y puede reproducir situaciones habituales de una API real. Su configuración sencilla resulta útil para pruebas y prototipos, siempre que protejas el entorno y evites exponer datos sensibles. Aunque existen otras herramientas, JSON Server sigue siendo una opción práctica cuando necesitas una API simulada con poco trabajo de configuración. 

Compartir 𝕏 in