crear servidor rest falso rápidamente

Mock para servicios REST


Estoy enseñando a mi hija cómo utilizar Kodular para crear aplicaciones móviles y necesitaba ofrecerle datos a su app en base a las peticiones que ella me hacía.

Cuando le propuse el reto, lo primero que se me ocurrió (sin pensarlo mucho, obviamente 😅) fue crearle una aplicación web rapidita que devolviese los JSON que ella esperaba pero, cuando llegó el momento de la verdad (y teniendo en cuenta que siempre estoy «entretenido» con mis inventos) dejó de parecerme una buena idea para convertirse en un «problema» que me requeriría (mínimo) un par de horas así que me dispuse a ver cómo crear un servicio mock para devolver JSON a sus peticiones REST desde Android y aquí os dejo una forma sencilla de conseguirlo…

Tras un rato buscando por Internet, me topé con JSONPlaceholder que (de serie) ofrece una serie de datos (como listados de posts, fotos, usuarios o comentarios)

pero al mismo tiempo ofrece la posibilidad de usar nuestros propios datos (como veremos dentro de poco)

Existen proyectos Node como json-server pero no queriendo

  1. que se tenga que instalar cosas innecesariamente en su portátil
  2. asustarla con detalles que puedan hacer creer que es más complicado de lo que realmente es innecesariamente

opté por utilizar JSONPlaceHolder con mis propios datos gracias a la posibilidad de subir a Github un fichero con nuestro JSON 👍

Para hacerlo funcionar

  1. creamos un fichero db.json (el nombre es importante)
  2. añadimos nuestro JSON al fichero indicado
  3. subimos el fichero a un repositorio en Github (o creamos uno ex profeso)

Observa que tenemos una única entrada (users) que contiene un array con dos objetos (con identificadores 1 y 3 respectivamente).

Podemos añadir tantas entradas como necesitemos en dicho JSON (imagina que a users añadimos otras como devices para indicar los dispositivos conocidos de cada usuario o repositories para registrar las aportaciones de cada uno de ellos) de modo que, cada «entrada» nos permitirá contar con rutas específicas (y del mismo nombre que indiquemos en el JSON) en nuestra API Rest de «cartón piedra»

Así, volviendo el ejemplo original que se ve en la captura, y suponiendo que está subido a Github, podremos acceder a un resumen de nuestros datos JSON usando la siguiente dirección

https://my-json-server.typicode.com/jasvazquez/fakeJSON

donde

  • jasvazquez es mi usuario en Github
  • fakeJSON es el repositorio que he creado para este ejemplo

Aunque JSON-Server permite diferentes tipos de parámetros (y acciones como POST, PUT o DELETE obviando después los cambios realizados) que te animo a consultar, para lo que necesita mi hija (recuperar el listado completo de entradas o una entrada en concreto) le bastaría con utilizar

Para terminar esta pequeña anotación de cómo usar el servicio indicar que debéis tener cuidado pues, como aparece en la propia web debemos tener cuidado porque los criterios seguidos en las URLs pueden cambiar sin previo aviso e incluso tener detenido el servicio (nada garantizan pues está en Beta)

Conclusión

Forma sencilla de montar un servidor fake para probar las llamadas a una REST API que sólo necesita subir un fichero JSON a Github para empezar a contar con datos JSON con los que hacer pruebas y desarrollar nuestras apps que espero os resulte (al menos) curioso. Si llegas a usarlo (o descubres trucos nuevos), se agradecerá comentario para «enriquecernos» todos 😉

Y tú

  • ¿Conocías el servicio?
  • ¿Cómo haces cuando necesitas montar de un modo rápido un mock para tu API de servicios Rest?
  • ¿Usas algún servicio parecido?
  • ¿Te parece útil y/o interesante esta posibilidad?

 

Un comentario en “Mock para servicios REST

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.