Su equipo de frontend está bloqueado: el backend de GET /users y GET /orders aún no está listo, pero la interfaz necesita datos realistas para renderizar listas, paginar y manejar estados vacíos. En lugar de mantener archivos JSON manuales que se desincronizan de la API real, puede generar respuestas simuladas directamente desde la especificación.
Si ya tiene una especificación de API, Apidog puede crear una simulación funcional desde el esquema del endpoint, sin configuración adicional ni código. Smart Mock interpreta los nombres y tipos de los campos para producir datos plausibles: name genera nombres, email genera correos electrónicos y createdAt genera fechas.
En esta guía aprenderá a:
- Simular
GET /usersyGET /orders. - Localizar y llamar a una URL de mock.
- Entender qué respuesta tiene prioridad.
- Corregir resultados cuando Smart Mock no infiere el valor esperado.
Para una introducción al concepto, consulte qué es el mocking de API y cómo funciona. También puede revisar JSON Schema para entender las restricciones que Smart Mock respeta.
Qué hace Smart Mock y por qué ahorra tiempo
El motor de simulación de Apidog puede devolver varios tipos de respuesta:
- Smart Mock: datos generados automáticamente desde la especificación.
- Ejemplo de respuesta: un ejemplo definido en el endpoint.
- Respuesta personalizada: un cuerpo configurado manualmente.
- Simulación condicional: respuestas según parámetros de la solicitud.
- Scripts de simulación: respuestas cuyos valores dependen de la solicitud.
Smart Mock es la opción sin configuración. Está integrado en Apidog junto con las herramientas de diseño, depuración y pruebas.
Cuando un endpoint tiene un esquema de respuesta:
- No necesita escribir un cuerpo de ejemplo.
- No necesita crear reglas manuales.
- Cada campo se completa según su tipo, nombre y restricciones.
- Si el esquema cambia, la simulación cambia con él.
Esto permite que frontend y backend trabajen sobre la misma fuente de verdad.
Antes de empezar: el único requisito
Smart Mock necesita un esquema de respuesta en el endpoint.
Si diseñó la API en Apidog, agregue el esquema en la definición de respuesta. Si importó un archivo OpenAPI, normalmente los esquemas ya estarán incluidos.
Sin una respuesta definida, Smart Mock no tiene información para generar datos útiles.
Para utilizar Local Mock, necesitará el cliente de escritorio, ya que esta opción no está disponible en Apidog Web. Puede descargar Apidog para seguir los ejemplos.
Paso a paso: simular GET /users y GET /orders
Vamos a crear una simulación para una API de comercio electrónico con dos endpoints.
Paso 1: definir los endpoints y sus esquemas de respuesta
Cree GET /users con un cuerpo de respuesta como este:
{
"id": 1024,
"name": "Amara Osei",
"email": "amara.osei@example.com",
"phone": "+1-415-555-0148",
"createdAt": "2026-03-11T09:24:00Z",
"isActive": true
}
Después, cree GET /orders con una lista de pedidos:
[
{
"orderId": "ORD-58210",
"userId": 1024,
"total": 84.50,
"currency": "USD",
"status": "shipped",
"createdAt": "2026-05-02T14:03:00Z"
}
]
Asegúrese de que cada propiedad tenga un tipo en el esquema. Smart Mock utiliza los tipos y nombres de los campos para elegir valores adecuados.
Paso 2: copiar la URL de simulación
Cada endpoint recibe una URL de mock automáticamente.
Puede encontrarla en:
- Modo DESIGN: pestaña API, debajo del endpoint.
- Modo DEBUG: pestaña Mock.
Haga clic en Clic para copiar.
La acción solo copia la URL. Si el endpoint no usa
GETo requiere un cuerpo de solicitud, deberá incluir el método HTTP y el body al realizar la llamada.
En modo de ruta, una URL de Local Mock tiene esta estructura:
http://127.0.0.1:4523/m1/{projectID}-{versionNo}-{serverNo}/users
Local Mock se inicia automáticamente mientras el cliente de Apidog está abierto.
También puede usar el modo ID para apuntar a un endpoint concreto:
http://127.0.0.1:4523/m2/{projectID}-{versionNo}-{serverNo}/{endpointId}
Paso 3: llamar a la simulación
Llame a GET /users con curl:
curl http://127.0.0.1:4523/m1/1234567-0-0/users
Smart Mock puede devolver una respuesta como esta:
{
"id": 3187,
"name": "Diego Marchetti",
"email": "diego.marchetti@example.net",
"phone": "+1-628-555-0113",
"createdAt": "2026-01-27T18:41:22Z",
"isActive": true
}
Los valores no son ruido aleatorio. Smart Mock usa coincidencia por nombre de propiedad:
-
namese interpreta como un nombre. -
emailse interpreta como un correo electrónico. -
createdAtse interpreta como una fecha. -
isActivese interpreta como un booleano.
Al repetir la solicitud, los valores dinámicos se regeneran. Esto resulta útil para probar listas, estados vacíos y variaciones de contenido en la interfaz.
Llame a GET /orders de la misma forma:
curl http://127.0.0.1:4523/m1/1234567-0-0/orders
Obtendrá un array de pedidos con totales, estados y marcas de tiempo generados a partir del esquema.
Cómo Smart Mock decide cada valor
Smart Mock aplica una prioridad de generación de datos de tres niveles.
- Campo de simulación (Mock Field) Si configura un valor o expresión personalizada en una propiedad, ese valor tiene prioridad.
Puede usar:
- Un valor fijo para devolver siempre el mismo valor.
- Una declaración Faker para generar valores dinámicos.
Por ejemplo, puede configurar status para devolver valores como shipped, pending o delivered.
- Coincidencia por nombre de propiedad (Property Name Matching) Si no existe un campo de simulación configurado, Smart Mock compara el nombre de la propiedad con reglas integradas basadas en patrones o expresiones regulares.
Por eso campos como email o createdAt generan valores apropiados automáticamente.
- JSON Schema Si el nombre no coincide con ninguna regla, Smart Mock usa el tipo y las restricciones del esquema para generar un valor predeterminado.
Los datos generados respetan las restricciones del esquema JSON, incluidas:
- Longitud de cadenas.
- Valores
enum. - Rangos numéricos.
- Longitud de arrays.
Por ejemplo:
{
"type": "string",
"enum": ["pending", "shipped", "delivered"]
}
Con ese esquema, Smart Mock solo devolverá uno de esos tres valores.
También puede definir restricciones para un total:
{
"type": "number",
"minimum": 1,
"maximum": 1000
}
O exigir una cantidad mínima de elementos en un array:
{
"type": "array",
"minItems": 3
}
Apidog también admite localizaciones de simulación para generar datos en diferentes idiomas y formatos regionales.
Cuando Smart Mock no genera el valor esperado
Smart Mock realiza inferencias y, en algunos casos, necesitará guiarlo.
Por ejemplo:
-
skupuede terminar como una cadena genérica. -
totalpuede ser un número válido, pero no tener el rango esperado. - Un campo de estado puede necesitar valores limitados.
Aplique estas soluciones en orden, desde la menos específica hasta la más controlada.
1. Ajuste el esquema
Antes de crear reglas personalizadas, añada restricciones al esquema.
Para un SKU:
{
"type": "string",
"pattern": "^[A-Z]{3}-[0-9]{5}$"
}
Para un estado:
{
"type": "string",
"enum": ["pending", "shipped", "delivered"]
}
Para un importe:
{
"type": "number",
"minimum": 0.01,
"maximum": 9999.99
}
Smart Mock respetará estas restricciones.
2. Configure un Mock Field
Use un Mock Field cuando el esquema no pueda expresar completamente el resultado que necesita.
Ejemplos:
- Use un valor fijo para
currencysi siempre debe serUSD. - Use una declaración Faker si necesita valores dinámicos controlados.
La capa Faker de Apidog se basa en conceptos similares a Mock.js. Consulte la guía sobre cómo usar Faker en Apidog para conocer la sintaxis de las expresiones.
3. Añada una regla de coincidencia por nombre
Si el mismo campo aparece en muchos endpoints, cree una regla global para ese nombre.
Por ejemplo, si sku aparece en productos, inventario y pedidos, puede definir una regla para generar siempre el formato correcto.
En Apidog, vaya a:
- Settings
- General Settings
- Feature Settings
- Mock Settings
- New
Defina la condición que debe cumplir el nombre del campo y asígnele una expresión de simulación. A partir de ese momento, cada campo sku del proyecto usará la regla configurada.
Prioridad de respuestas: qué prevalece realmente
Un endpoint puede tener varias fuentes posibles de respuesta. Apidog decide cuál devolver mediante el ajuste Default mock method, disponible en:
Project Settings > Mock Settings
Hay dos opciones.
Smart Mock Primero
Es la opción predeterminada:
Mock Expectation → Smart Mock
Apidog primero busca una Expectativa de Simulación coincidente. Si no encuentra una, Smart Mock genera la respuesta.
Ejemplo de respuesta primero
Esta opción cambia el orden:
Mock Expectation → Response Example → Smart Mock
Apidog primero evalúa una Expectativa de Simulación. Si no coincide, intenta devolver un Ejemplo de Respuesta. Smart Mock queda como respaldo.
Las Mock Expectations siempre tienen la máxima prioridad cuando sus condiciones coinciden.
Por ejemplo, puede devolver un 404 para un usuario concreto:
Si userId = 9999 → devolver 404
Esta regla se aplicará independientemente del método de simulación predeterminado.
Para crear respuestas basadas en parámetros, consulte cómo simular respuestas API condicionales en Apidog.
Resumen práctico:
Mock Expectation > Response Example o Smart Mock
La prioridad entre Response Example y Smart Mock depende de la configuración del proyecto.
Mock Local, Cloud Mock y Runner Mock
Smart Mock y Custom Mock definen cómo se genera una respuesta. Local Mock, Cloud Mock y Runner Mock definen dónde se ejecuta.
Local Mock
Local Mock se ejecuta en su equipo mediante el cliente de Apidog.
Características:
- Se inicia automáticamente con el cliente.
- Solo está disponible mientras el cliente está abierto.
- Escucha en
127.0.0.1:4523. - No está disponible en Apidog Web.
- Para acceder desde otro dispositivo de la red, debe usar la IP LAN de su equipo.
Úselo para desarrollo local de frontend.
Cloud Mock
Cloud Mock se aloja en los servidores de Apidog.
Características:
- Es accesible 24/7.
- Está desactivado por defecto.
- Debe activarlo desde la gestión de entornos.
- Usa URLs con
https://mock.apidog.com. - Mantiene la estructura de rutas
m1ym2. - Está pensado para pruebas, no para tráfico de producción.
Úselo cuando otros miembros del equipo o una vista previa desplegada necesiten acceder al mock.
Runner Mock
Runner Mock se autoaloja en la infraestructura de su equipo.
Úselo cuando la simulación deba permanecer dentro de su red o servidores internos.
Para comparar opciones alojadas, consulte la comparación de herramientas de simulación de API en línea. Para configurar mocks alojados, revise la guía de Apidog Cloud Mock.
Reglas de enrutamiento que debe conocer
Hay algunas reglas de routing que pueden afectar a sus pruebas.
Las rutas deben comenzar con /
Esta ruta funciona correctamente:
/orders
Una URL completa que no comienza con / no utiliza el entorno de simulación. Una ruta sin barra inicial solo funciona en modo ID.
Endpoints con el mismo método y ruta
Si dos APIs comparten el mismo método HTTP y ruta, el modo de ruta no puede diferenciarlas.
Añada este parámetro de consulta para seleccionar el endpoint exacto:
?apidogApiId={endpointId}
Los valores se regeneran al actualizar
Los datos dinámicos se regeneran cuando actualiza la solicitud.
Si ve exactamente la misma respuesta varias veces, compruebe si está viendo una respuesta almacenada en caché en lugar de ejecutar una nueva solicitud.
Automatice el flujo de trabajo con la CLI de Apidog
La CLI de Apidog no inicia ni aloja un servidor de simulación desde la terminal. Local Mock, Cloud Mock y Runner Mock son los componentes que sirven las respuestas.
La CLI ayuda a mantener el esquema que alimenta sus mocks actualizado a medida que evoluciona el proyecto.
Como Smart Mock genera datos a partir del esquema del endpoint, la calidad de la simulación depende de la especificación. La CLI de Apidog y herramientas de codificación asistida por IA, como Cursor, Claude Code, Trae y Codex, pueden ayudar a crear o actualizar endpoints y esquemas en el proyecto.
Cuando el frontend ya está desbloqueado, puede ejecutar escenarios de prueba contra el backend real desde CI:
apidog run -t <scenario_id> -e <env_id> -r html,cli
Instale la CLI:
npm install -g apidog-cli
Autentíquese con un token:
apidog login --with-token <your-token>
Necesita Node.js v16 o posterior. Para integrarla en su pipeline, consulte cómo ejecutar Apidog en un pipeline CI/CD.
El mock mantiene al frontend avanzando. La CLI ayuda a verificar que el backend siga cumpliendo el mismo contrato.
Preguntas frecuentes
¿Tengo que escribir código para usar Smart Mock?
No. Si el endpoint tiene un esquema de respuesta, Smart Mock genera datos automáticamente.
Solo necesitará un valor fijo, una declaración Faker o un script de simulación si desea anular un comportamiento específico. Consulte la descripción general de la API de simulación para revisar los conceptos.
¿Por qué mi URL de simulación no devuelve datos?
Revise estos puntos:
- El endpoint tiene una definición de respuesta.
- La ruta comienza con
/. - El cliente de Apidog está abierto si utiliza Local Mock.
- Está usando el método HTTP correcto.
- Ha incluido un body si el endpoint lo requiere.
¿Cómo devuelvo un valor específico en vez de uno aleatorio?
Configure el Mock Field de la propiedad.
- Un Fixed value devuelve siempre el mismo valor.
- Una Faker statement devuelve valores dinámicos controlados.
El Mock Field tiene prioridad sobre la coincidencia por nombre y sobre los valores predeterminados del esquema.
¿Puede mi equipo acceder a un mock que se ejecuta en mi portátil?
Local Mock solo está disponible mientras el cliente está abierto y escucha en 127.0.0.1:4523.
Para que el mock esté disponible de forma continua, active Cloud Mock en https://mock.apidog.com.
¿Qué ocurre si tengo un ejemplo de respuesta y Smart Mock?
Depende de Default mock method:
- Con Smart Mock Primero, Smart Mock genera el cuerpo cuando no existe una Mock Expectation coincidente.
- Con Ejemplo de respuesta primero, Apidog intenta devolver primero el Response Example.
- Una Mock Expectation coincidente siempre anula ambas opciones.
Conclusión
Smart Mock convierte un esquema de API en una simulación funcional sin código ni configuración adicional.
El flujo práctico es simple:
- Defina el esquema de respuesta.
- Copie la URL de mock desde la pestaña API o Mock.
- Llame al endpoint desde su frontend o con
curl. - Ajuste el esquema, el Mock Field o las reglas de coincidencia si necesita controlar los datos.
- Use Mock Expectations para respuestas condicionales o casos específicos.
Cuando frontend y backend comparten el mismo contrato, puede seguir desarrollando la interfaz aunque el backend todavía no esté disponible.


Top comments (0)