Haz proxy a la API real y mockea lo que falta

Tu mock API reenvía al backend real y mockea los endpoints que todavía no sirve. Datos reales donde existen, datos generados donde no.

  • Real y mockeado juntos
  • Una sola URL para la app
  • Caché de respuestas
  • Todo queda registrado
api.mockz.io/gh/acme/payments
200GET/v1/customersupstream23 ms
200GET/v1/charges/ch_71upstream19 ms
200GET/v1/payoutsgenerado4 ms
201POST/v1/refundsgenerado6 ms
Una sola URL. Cada respuesta lleva X-Mockzilla-Source, así tu cliente sabe cuál recibió.

¿Qué es un proxy con fallback al mock?

El mock server prueba primero tu backend real y deja pasar lo que responda, incluidos estado y encabezados. Todo lo que ese backend no maneja se responde desde la spec en vez de fallar.

Tu app llama a una sola URL. Qué respuestas vinieron de la API real y cuáles se generaron se decide en el mock server, no en tu código, así que de tu lado no cambia nada cuando salga la mitad que falta.

La mitad de cada integración ya existe

El trabajo real casi nunca es todo o nada. Tres endpoints están vivos, dos siguen en construcción y uno solo se comporta en un entorno que no puedes alcanzar. Mockear todo tira a la basura el comportamiento real que ya tienes, y no mockear nada te deja bloqueado.

Hacer proxy con fallback conserva ambos. Los endpoints que existen se comportan exactamente como en producción, y los que no, igual devuelven algo válido.

Primero el upstream

Estado, encabezados y body vuelven intactos. Tu cliente no puede notar que la solicitud pasó por un mock.

Fallback al mock

No tienes que decir qué endpoints faltan. Todo lo que el upstream no responda cae en la spec.

Caché de respuestas

Cachea las respuestas GET para que la misma solicitud devuelva el mismo body, aunque los datos detrás de la API real sigan cambiando.

Preguntas

¿Qué pasa cuando la API real se cae?
La solicitud cae al mock, así que tu trabajo no se bloquea por la caída de otro.
¿Puedo ver de dónde vino cada respuesta?
Sí, en todas. X-Mockzilla-Source vuelve como upstream, cache o generated, así que tu cliente lo sabe sin preguntar y una prueba puede afirmarlo. El historial de solicitudes también registra las llamadas.
¿Tengo que cambiar mi app para usarlo?
No. La URL base a la que ya apuntas sigue igual, y nada más en tu cliente cambia.

Trae una spec. Llévate un mock server.

Empezar no cuesta nada. Infraestructura dedicada cuando la necesites.