Apidog Docs
🇪🇸 Español
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português
🇪🇸 Español
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português
🇪🇸 Español
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português
HomeLearning Center
Support CenterAPI ReferencesDownloadChangelog
HomeLearning Center
Support CenterAPI ReferencesDownloadChangelog
  1. Schemas
  • Centro de aprendizaje de Apidog
  • Primeros pasos
    • Introducción a Apidog
    • Conceptos básicos en Apidog
    • Navegación por Apidog
    • Inicio rápido
      • Descripción general
      • Crear un Endpoint
      • Realizar una petición
      • Añadir una aserción
      • Creación de escenarios de prueba
      • Compartir documentación de API
      • Explore Más
    • Migración a Apidog
      • Descripción general
      • Importación manual
      • Importación programada (Vincular fuentes de datos)
      • Opciones de importación
      • Exportar datos
      • Importar desde
        • Importar desde Postman
        • Importar especificación OpenAPI
        • Importar cURL
        • Importar archivos Markdown
        • Importar desde Insomnia
        • Importar desde apiDoc
        • Importar archivo .har
        • Importar WSDL
  • Datos de API mock
    • Descripción general
    • Smart Mock
    • Mock personalizado
    • Secuencia de prioridad de mock
    • Scripts de mock
    • Mock en la nube
    • Mock de Runner autoalojado
    • Idioma de mock (locales)
  • Cuenta y preferencias
    • Configuración de la cuenta
    • Generación de un token de acceso OpenAPI
    • Notificación
    • Configuración de idioma
    • Teclas de acceso rápido
    • Configuración del proxy de red
    • Copia de seguridad de los datos
    • Actualizar Apidog
    • Eliminar cuenta
    • Funciones experimentales
  • Enviar peticiones
    • Descripción general
    • Depuración de SSE
    • Cliente MCP
    • Socket.IO
    • WebSocket
    • Webhook
    • SOAP o WebService
    • GraphQL
    • gRPC
    • Usar agentes proxy de petición para la depuración
    • Crear peticiones
      • Historial de peticiones
      • Conceptos básicos de las peticiones
      • Parámetros y cuerpo
      • Encabezados de petición
      • Configuración de peticiones
      • Depurar peticiones
      • Guardar peticiones como endpoints
      • HTTP/2
    • Autenticación y autorización
      • Descripción general
      • Certificados de CA y de cliente
      • Tipos de autorización
      • Autenticación Digest
      • OAuth 1.0
      • OAuth 2.0
      • Autenticación Hawk
      • Kerberos
      • NTLM
      • Akamai EdgeGrid
    • Respuesta y cookies
      • Visualización de respuestas de API
      • Gestión de cookies
      • Descripción general
  • Desarrollar y depurar APIs
    • Descripción general
    • Generación de peticiones
    • Envío de peticiones
    • Casos de depuración
    • Casos de prueba
    • Valores dinámicos
    • Validación de respuestas
    • Diseño primero vs. petición primero
    • Generación de código
    • Entornos y variables
      • Descripción general
      • Uso de variables
      • Gestión de entornos
    • Secretos de la bóveda
      • Descripción general
      • HashiCorp Vault
      • Azure Key Vault
      • AWS Secrets Manager
    • Módulos de valores dinámicos
      • Aerolínea
      • Animal
      • Color
      • Comercio
      • Empresa
      • Base de datos
      • Tipo de dato
      • Fecha
      • Finanzas
      • Comida
      • Git
      • Hacker
      • Helpers
      • Imagen
      • Internet
      • Ubicación
      • Lorem
      • Música
      • Número
      • Persona
      • Teléfono
      • Ciencia
      • String
      • Sistema
      • Vehículo
      • Word
    • Preprocesadores y postprocesadores
      • Descripción general
      • Aserción
      • Extraer variable
      • Esperar
      • Seguridad
      • Operaciones de base de datos
        • Descripción general
        • MySQL
        • MongoDB
        • Redis
        • Cliente Oracle
      • Uso de scripts
        • Descripción general
        • Scripts de preprocesador
        • Scripts de posprocesador
        • Scripts públicos
        • Referencia de scripts de Postman
        • Llamar a otros lenguajes de programación
        • Uso de bibliotecas JS
        • Visualización de respuestas
        • Ejemplos de scripts
          • Scripts de aserción
          • Uso de variables
          • Modificación de peticiones
          • Otros ejemplos
    • Depuración de APIs
      • Depurador de agentes de IA
      • Depurador A2A
  • Diseñar APIs
    • Descripción general
    • Crear un nuevo proyecto de API
    • Conceptos básicos de endpoints
    • Directrices de diseño de API
    • Módulo
    • Configurar múltiples ejemplos de cuerpo de petición
    • Componentes
    • Campos comunes
    • Parámetros globales
    • Historial de cambios del endpoint
    • Comentarios
    • Gestión de endpoints por lotes
    • API de protocolo personalizado
    • Modo Spec-first (Beta)
    • Esquemas de seguridad
      • Descripción general
      • Crear un esquema de seguridad
      • Usar el esquema de seguridad
      • Esquema de seguridad en la documentación en línea
    • Funciones avanzadas
      • Campos personalizados de endpoint
      • Escenarios de prueba asociados
      • Estado del endpoint
      • Apariencia de las listas de parámetros
      • Identificación única de endpoints
    • Schemas
      • Descripción general
      • Crear un nuevo esquema
      • Crear un esquema
      • Generar esquemas a partir de JSON, etc.
      • oneOf, allOf, anyOf
      • Uso de Discriminator
  • Pruebas de API
    • Descripción general
    • Escenarios de prueba
      • Crear un escenario de prueba
      • Pasar datos entre peticiones
      • Condiciones de control de flujo
      • Sincronizar datos desde endpoints y casos de endpoint
      • Importar endpoints y casos de endpoint desde otros proyectos
      • Exportar escenarios de prueba
    • Informes de prueba
      • Informes de prueba
    • Ejecutar escenarios de prueba
      • Ejecutar un escenario de prueba
      • Ejecutar escenarios de prueba por lotes
      • Pruebas basadas en datos
      • Datos de prueba compartidos
      • Tareas programadas
      • Gestionar el entorno de ejecución de API de otros proyectos
    • Suite de pruebas
      • Descripción general
      • Crear una suite de pruebas
      • Orquestar suite de pruebas
      • Ejecutar conjuntos de pruebas localmente
      • Ejecutar suites de prueba mediante CLI
      • Tareas programadas
    • Probar APIs
      • Pruebas de integración
      • Pruebas de rendimiento
      • Pruebas de extremo a extremo
      • Pruebas de regresión
      • Pruebas de contrato
    • Apidog CLI
      • Descripción general
      • Instalación y ejecución de Apidog CLI
      • Opciones de Apidog CLI
    • CI/CD
      • Descripción general
      • Integrar con Github Actions
      • Integrar con Gitlab
      • Integrar con Jenkins
      • Activar prueba mediante commit de Git
  • Publicar documentación de API
    • Descripción general
    • Tecnologías de API compatibles
    • Uso compartido rápido
    • Visualización de la documentación de API
    • Documentación de Markdown
    • Publicación de sitios de documentación
    • Página de inicio de sesión personalizada
    • Diseños personalizados
    • CSS, JavaScript, HTML personalizados
    • Dominio personalizado
    • Funciones de IA
    • Configuración de SEO
    • Configuración avanzada
      • Búsqueda en la documentación
      • Proxy CORS
      • Integración de Google Analytics
      • Configuración del árbol de carpetas
      • Configuración de visibilidad
      • Incrustación de valores en las URL de documentación
    • Versiones de API
      • Descripción general
      • Crear versiones de API
      • Publicación de versiones de API
      • Compartir endpoints con versiones de API
  • Ramas
    • Descripción general
    • Crear una rama de sprint
    • Prueba de APIs en una rama
    • Diseño de API en una rama
    • Fusionar ramas de sprint
    • Gestión de ramas de sprint
    • AI Branch (Beta)
  • Funciones de IA
    • Descripción general
    • Habilitación de funciones de IA
    • Generación de casos de prueba
    • Modificación de esquemas con IA
    • Comprobación de cumplimiento del endpoint
    • Comprobación de integridad de la documentación de API
    • Nomenclatura de campos con IA
    • Preguntas frecuentes
  • Servidor MCP de Apidog
    • Descripción general
    • Conectar un proyecto de Apidog a la IA
    • Conectar documentación publicada a la IA
    • Conectar archivos OpenAPI a la IA
  • Mejores prácticas
    • Gestión de firmas de API
    • Acceso a APIs protegidas con OAuth 2.0
    • Flujo de trabajo de colaboración
    • Gestión del estado de autenticación
  • Espacio sin conexión
    • Descripción general
  • Administración
    • Gestión de proyectos
      • Gestión de proyectos
      • Configuración de notificaciones
      • Gestión de miembros del proyecto
      • Recursos del proyecto
        • Conexión a la base de datos
        • Conexión con Git
    • Gestión de equipos
      • Gestión de equipos
      • Gestión de miembros del equipo
      • Actividades del equipo
      • Roles y permisos del equipo
      • Recursos del equipo
        • General Runner
        • Variables de equipo
        • Agente proxy de peticiones
      • Colaboraciones en tiempo real
        • Colaboración en equipo
    • Lista de verificación de incorporación
      • Conceptos básicos
      • Guía de incorporación
    • Gestión de la organización
      • Gestión de la organización
      • Rol y permisos de la organización
      • Gestión de planes
        • Administradores de facturación en organizaciones
      • Inicio de sesión único (SSO)
        • Descripción general de SSO
        • Configuración de Microsoft Entra ID
        • Configuración de Okta
        • Configuración de SSO para una organización
        • Gestión de cuentas de usuario
        • Asignar grupos a equipos
      • Aprovisionamiento SCIM
        • Introducción al aprovisionamiento SCIM
        • Microsoft Entra ID
        • Okta
      • Recursos de la organización
        • Runner autohospedado
  • Facturación
    • Descripción general
    • Créditos
    • Actualizar su plan
    • Métodos de pago alternativos
    • Gestión de suscripciones
    • Trasladar equipos de pago a organizaciones
  • Complementos
    • API Hub
    • Plugin Apidog Intellij IDEA
    • Extensión del navegador
      • Chrome
      • Microsoft Edge
    • Proxy de peticiones
      • Proxy de peticiones en la web
      • Proxy de petición en documentos compartidos
      • Proxy de peticiones en el cliente
  • Datos y seguridad
    • Almacenamiento y seguridad de datos
    • Privacidad y seguridad de los datos del usuario
    • Enrutamiento de peticiones y seguridad de datos
  • Referencias
    • Enfoque de diseño de API primero
    • Extensiones de la especificación OpenAPI de Apidog
    • JSONPath
    • XPath
    • Expresiones regulares
    • JSON Schema
    • Formato de archivo CSV
    • Instalación del entorno Java
    • Entorno de implementación de Runner
    • Sintaxis Markdown de Apidog
    • Extensiones Swagger de Apidog
      • Descripción general
      • x-apidog-folder
      • x-apidog-status
      • x-apidog-name
      • x-apidog-maintainer
    • Extensiones JSON Schema de Apidog
      • Descripción general
      • x-apidog-mock
      • x-apidog-orders
      • x-apidog-enum
  • Apidog Europa
    • Apidog Europe
  • Centro de soporte
    • Apidog Support Center
    • Importar/exportar
      • ¿Cómo importar datos de API en Apidog?
      • ¿Cómo importar cURL en Apidog?
      • ¿Cómo migrar entornos de Postman a Apidog?
      • ¿Cómo agrupar endpoints automáticamente al importar Swagger/OpenAPI?
    • Envío de peticiones
      • ¿Admite Apidog Socket.IO?
      • ¿Por qué el signo "+" en el valor del parámetro se decodifica como un espacio?
      • ¿Cómo enviar una petición en Apidog?
      • ¿Cómo enviar una petición GraphQL en Apidog?
      • ¿Cómo enviar una petición gRPC en Apidog?
      • ¿Cómo enviar una petición SOAP/WebService en Apidog?
      • ¿Cómo enviar una petición WebSocket en Apidog?
      • ¿Admite Apidog scripts previos a la petición/scripts de prueba y aserciones en las API WebSocket?
      • ¿Cómo enviar una petición SSE en Apidog?
      • ¿Cómo añadir encabezados predeterminados a nivel de carpeta?
      • ¿Admite Apidog scripts de pre-petición/prueba y aserciones en las API gRPC?
      • Error del resolvedor DNS ELANREFUSED.DNS
      • ¿Por qué recibo un error "socket hang up" al enviar una petición?
      • Corrección de errores de petición
        • Corrección del error read ECONNRESET
        • Corrección del error ECONNREFUSED
        • Corrección del error ETIMEDOUT
        • Solución del error ENOTFOUND: Couldn't resolve host
        • Corrección de ENOTFOUND: error getaddrinfo ENOTFOUND www
        • Solución del error connect EHOSTUNREACH
    • Diseño de APIs
      • ¿Cómo uso variables en la ruta?
      • ¿Puedo usar un componente de respuesta como respuesta predeterminada?
      • ¿Cómo comprobar quién ha modificado un endpoint?
      • ¿Cómo puedo eliminar carpetas de endpoints de forma masiva en Apidog?
      • ¿Cómo puedo agregar o eliminar prefijos de forma masiva en la ruta de los endpoints?
      • ¿Cómo mover el nivel de una propiedad en el Editor de esquemas?
      • Si una propiedad de cadena tiene varios valores enumerados y se utiliza en varias ubicaciones, ¿cómo se puede referenciar este enum de forma coherente en todas ellas?
      • ¿Cómo obtener el ID de la carpeta de recursos de Apidog?
      • ¿Cómo obtengo el ID de la carpeta de recursos de Apidog?
      • ¿Cómo uso variables en una ruta de URL?
      • ¿Qué debo hacer si un endpoint, documento o escenario de prueba se elimina accidentalmente?
      • ¿Apidog admite código de petición para endpoints personalizados?
      • ¿Cómo agrupar automáticamente endpoints al importar Swagger/OpenAPI en Apidog?
      • ¿Cómo genero datos de matriz no duplicados en respuestas mock?
      • ¿Por qué no se admite la entrada "#" en la ruta?
    • Depuración de APIs
      • ¿Cómo se integra Apidog con sistemas de gestión de claves de terceros?
      • ¿Por qué la misma petición funciona correctamente en otras herramientas (como Postman) pero no en Apidog?
      • ¿Cómo obtener valores de variables desde una base de datos en Apidog?
      • ¿Cómo migrar entornos desde otras herramientas a Apidog?
      • ¿Cómo realizar aserciones usando scripts en Apidog?
      • JSONPath solo puede extraer arrays. ¿Cómo puede extraer un solo elemento de ellos en Apidog?
      • ¿Cómo configurar operaciones de base de datos en Apidog cuando diferentes entornos tienen distintas credenciales de cuenta de base de datos?
      • ¿Cómo obtener la URL base del servicio en un script personalizado?
      • ¿Por qué Apidog informa un error que supera la longitud máxima de cadena de Node.js cuando la respuesta de la API es demasiado grande?
      • ¿Cuál es el límite de tamaño para la impresión en consola? ¿Por qué aparece un error al imprimir archivos grandes?
      • ¿Cómo resolver errores de conexión a la base de datos DB2 en Windows?
      • ¿Por qué aparece el error NJS-045 al conectarme a una base de datos Oracle en Apidog?
      • ¿Cómo generar valores dinámicos en scripts personalizados de Apidog?
      • ¿Por qué la petición del cliente al mismo endpoint se realiza correctamente, pero se produce un error al depurar en el lado web: "No se puede solicitar la dirección"?
      • ¿Por qué Apidog informa un error cuando la respuesta es demasiado grande?
      • ¿Cómo utilizo el endpoint de registro de Apidog?
      • Al definir la respuesta de un endpoint, ¿se permite que el endpoint no tenga contenido de respuesta?
      • ¿Cómo obtengo la baseURL del servicio en un script personalizado?
      • ¿Cómo puedo ver el paquete original en Apidog?
      • ¿Por qué veo el error "Invalid URI xxx" al realizar una petición?
      • ¿Cómo realizo una petición asíncrona en un script de Apidog?
      • ¿Por qué veo el mensaje "Couldn't resolve host" al enviar una petición?
      • ¿Cuál es el límite de tamaño de impresión de la consola? ¿Por qué aparece un error cuando imprimo un archivo grande?
      • ¿Cómo puedo cargar un archivo en una petición de endpoint?
      • ¿Qué hacer si Apidog se bloquea o los datos de respuesta no se muestran?
      • URI de redirección oficial utilizada por Apidog para OAuth2.0
    • Datos de API mock
      • ¿Cómo hacer mock de APIs automáticamente?
      • ¿Qué puede hacer el mock de Apidog?
      • ¿Cómo simular datos fijos de API en Apidog?
      • ¿Cómo simular datos condicionales en Apidog?
      • ¿Cómo habilitar el mock en la nube en Apidog?
      • ¿Cómo habilitar un mock autoalojado en Apidog?
      • ¿Apidog admite mocks de API WebSocket?
      • ¿Por qué el navegador no devuelve contenido al solicitar el endpoint mock?
    • Pruebas automatizadas
      • ¿Por qué los escenarios de prueba se ejecutan sin problemas en mi cliente local, pero se producen errores al ejecutarlos en Apidog CLI o runner?
      • ¿Cómo crear un escenario de prueba en Apidog?
      • ¿Cómo pasar datos entre pasos de prueba?
      • ¿Por qué no puedo referenciar correctamente los datos del paso previo?
      • ¿Cómo usar el bucle foreach en Apidog?
      • ¿Cuáles son las diferencias entre sincronizar datos desde endpoints/casos de endpoint?
      • ¿Cómo utilizar datos de prueba en Apidog?
      • ¿Cómo recuperar datos de prueba en scripts en Apidog?
      • ¿Cómo ejecutar escenarios de prueba por lotes en Apidog?
      • ¿Cómo programar tareas de prueba en Apidog?
      • ¿Cómo ejecutar una prueba de rendimiento en Apidog?
      • ¿Cómo puedo ver las peticiones y respuestas reales en las pruebas de rendimiento?
      • ¿Cómo puedo exportar informes de pruebas de rendimiento en Apidog?
      • ¿Cómo utilizar los resultados de consultas de base de datos como parámetros para realizar peticiones de API en bucle?
      • Capturar y validar webhooks de Stripe en ApiDog durante CI/CD
      • ¿Cómo resolver el error "Error: unable to verify the first certificate on runner"?
      • Error «Not Found» en el contenedor Docker de General Runner.
      • ¿Cómo configurar el host del servidor para el General Runner en la versión web de Apidog?
      • ¿Por qué el escenario de prueba programado terminó con 0 peticiones?
      • ¿Qué debo hacer si no se puede encontrar el parámetro de carga de archivo en Runner o CLI?
      • ¿Cómo usar Runner para ejecutar un escenario de prueba con un paso de carga de archivo?
      • ¿Cómo resuelvo el error "Error: unable to verify the first certificate on runner"?
      • ¿Cómo accedo y busco en los registros del runner para identificar el problema cuando surge un problema con un runner?
      • ¿Qué debo hacer si el parámetro del endpoint es un archivo de carga y no se puede encontrar en Runner o CLI?
      • ¿Por qué los pasos de prueba no se sincronizan automáticamente cuando cambia el caso de uso de la API?
      • ¿Por qué el uso de varios signos de dólar en un documento Markdown provoca que parte del contenido no se muestre correctamente?
      • ¿El Runner autoalojado genera un informe de prueba en el servidor después de ejecutar una tarea?
      • ¿Puedo añadir pre/postprocesadores unificados a las peticiones en un escenario de prueba?
      • ¿Cómo puedo mantener valores dinámicos coherentes durante una única ejecución de prueba automatizada?
    • Publicar documentación de API
      • ¿Cómo ocultar todos los logotipos de Apidog en los documentos publicados?
      • Cuando se actualiza la especificación de la API, ¿cambiará la documentación de la API?
      • ¿Cómo compartir APIs con colaboradores en Apidog?
      • ¿Cómo personalizar el dominio de la documentación de Apidog?
      • ¿Cómo crear documentación multiversión en Apidog?
      • Alcance de uso compartido para sitios de documentación publicados en Apidog
      • Alcance de uso compartido para la lista Share Doc en Apidog
      • ¿Por qué los Share Docs publicados no muestran el hostname?
      • ¿Cómo pueden los usuarios de la documentación modificar la URL base en documentos compartidos?
      • ¿Puedo duplicar un documento de Apidog publicado para usarlo en mi propio proyecto?
      • ¿Cómo compartir encabezados (por ejemplo, token) en la documentación en línea de Apidog?
      • ¿Por qué mi miembro del equipo no puede encontrar la documentación publicada?
      • ¿Cómo soluciono la expiración de un certificado SSL o un error 526 de Cloudflare en mi dominio personalizado?
      • SMTP personalizado configurado correctamente, pero los usuarios en la lista de permitidos no reciben correos electrónicos con OTP
    • Markdown
      • ¿Cómo usar tarjetas para enlazar a varias páginas o endpoints dentro de Apidog?
      • ¿Por qué algunos contenidos no se muestran correctamente al usar varios símbolos $ en documentos Markdown?
      • ¿Cómo usar imágenes con fondo transparente en Apidog Markdown?
      • ¿Cómo establecer el ancho de columna de una tabla Markdown?
      • ¿Cómo puede insertar APIs internas, documentos, esquemas de datos o carpetas en un documento Markdown?
      • ¿Cómo agrego un enlace a un documento o endpoint dentro de un proyecto en un componente de tarjeta de Apidog?
    • Ramas
      • ¿Cómo acceder a la rama de sprint?
    • Administración
      • ¿Cómo instalar el cliente de Apidog de forma silenciosa?
      • ¿Por qué veo un error de «Sin permiso» a pesar de tener acceso de administrador?
      • ¿Cómo puedo comprobar el número de versión del runner?
      • ¿Apidog es compatible con Windows 7?
      • ¿Por qué Apidog muestra el error "Cannot locate program entry point DiscardVirtualMemory in dynamic link library KERNEL32.dll" después de la instalación?
      • Cambios de suscripción y reembolsos
      • Las peticiones web funcionan, pero la aplicación muestra "read ECONNRESET": ¿por qué?
      • ¿Por qué no puedo abrir Apidog después de una actualización del sistema Windows?
      • Por qué Apidog no se abre después de una actualización del sistema Windows
    • Facturación
      • ¿Puedo configurar una cuenta de facturación separada para mi equipo en Apidog?
      • Problemas de acceso del equipo y facturación en Apidog
      • Los miembros invitados del equipo no pueden acceder a Apidog.
      • Transferir un equipo personal de pago a una organización
    • On-premises
      • Gestión de usuarios y acceso en la versión autohospedada (Enterprise) de Apidog
    • Web y cliente
      • Descarga e instalación de la versión de escritorio para Linux
  1. Schemas

Crear un esquema

Uso del Editor de esquemas#

El Editor de esquemas es una herramienta eficaz que ayuda a diseñar y modelar las estructuras de datos que utiliza su API. Se basa en JSON Schema y se utiliza para diseñar estructuras de datos JSON o XML.
Utilice el Editor de esquemas para:
Desarrollar cuerpos de peticiones y respuestas de API adaptados a endpoints de API específicos.
Construir modelos de datos que sean aplicables en una o varias API.
Cada esquema comienza con un objeto raíz. Para crear un esquema, agregue propiedades a este objeto raíz.

Crear un esquema#

1
Agregar propiedades
Haga clic en el signo + (Agregar un nodo secundario) junto al objeto raíz para introducir nuevas propiedades.
2
Nombrar su propiedad
Introduzca el nombre (o clave) de la propiedad.
3
Seleccionar el tipo de propiedad
Elija tipos de datos comunes o seleccione referencias a esquemas predefinidos.
4
Configuración avanzada
Utilice el Editor de tipos para asignar tipos de datos, como valores predeterminados y formatos, a cada propiedad.
5
Administrar propiedades
Reordene las propiedades moviéndolas, copiándolas o eliminándolas. También puede enriquecer las propiedades con descripciones y marcarlas como obligatorias.
Métodos alternativos
También puede crear nuevos esquemas importándolos desde tablas de base de datos o archivos de esquema JSON. Obtenga más información sobre Generar esquemas a partir de JSON, etc..

Tipo de propiedad#

De acuerdo con el estándar JSON Schema, el Editor de esquemas de Apidog admite los siguientes tipos de datos básicos:
TipoDescripción
nullRepresenta un valor JSON "null".
booleanRepresenta un valor "true" o "false", correspondiente al valor JSON "true" o "false".
objectRepresenta una colección no ordenada de pares clave-valor, correspondiente al valor JSON "object".
arrayRepresenta una lista ordenada de valores, correspondiente al valor JSON "array".
numberRepresenta un valor numérico decimal de base 10 y precisión arbitraria, correspondiente al valor JSON "number".
stringRepresenta una cadena de caracteres Unicode, correspondiente al valor JSON "string".
Tipo de datos Array
Al usar el tipo de datos array, se generará automáticamente una propiedad de subnivel ITEMS. Esta especifica el tipo de datos de los elementos dentro del array.
Además de las estructuras de datos estándar mencionadas anteriormente, el Editor de esquemas de Apidog también admite lo siguiente:
Referenciar otros esquemas: capacidad para referenciar y reutilizar esquemas definidos en otra parte de la documentación de la API.
any: representa un valor que puede ser de cualquier tipo de datos.
Composición de esquemas: permite combinar varios esquemas para crear estructuras de datos complejas.
Personalización: permite a los usuarios personalizar y adaptar el esquema para cumplir requisitos específicos y necesidades de modelado de datos.

Referenciar otros esquemas#

Puede utilizar la función "Referenciar otros esquemas" para referenciar esquemas definidos previamente.
Después de referenciar otro esquema, puede ver el esquema referenciado en el Editor de esquemas.
Puntos clave sobre los esquemas referenciados:
Cualquier modificación realizada en el esquema original se reflejará en el esquema que lo referencia.
El esquema referenciado no se puede editar directamente; para realizar cambios, puede:
Hacer clic en el nombre del esquema para navegar al esquema original y editarlo.
Al hacer clic en Anular referencia en el esquema, el esquema se transformará en una serie de propiedades independientes, lo que le permitirá editarlas individualmente.
Si necesita modificar de forma independiente la definición de una propiedad específica, puede elegir Anular referencia para esa propiedad, lo que permite modificaciones individuales. Cualquier cambio en el esquema original no afectará a la propiedad cuya referencia se haya anulado.
En los casos en que no se requieran todas las propiedades del esquema referenciado en el endpoint, puede hacer clic en Ocultar para ocultar las propiedades innecesarias.

Composición de esquemas#

Si una propiedad de su estructura de datos puede tener varios tipos de datos posibles, puede usar la Composición de esquemas para combinar varios esquemas.
Apidog admite las siguientes palabras clave de composición:
Palabra claveDescripción
allOf (AND)Especifica que la propiedad debe ajustarse a todos los esquemas definidos en la composición.
anyOf (OR)Especifica que la propiedad puede ajustarse a cualquiera de los esquemas enumerados en la composición.
oneOf (XOR)Especifica que la propiedad debe ajustarse a uno y solo uno de los esquemas definidos en la composición.
Después de seleccionar Composición de esquemas, aparecerán subpropiedades llamadas "0" y "1" debajo de la propiedad, que representan cada esquema dentro de la composición. Puede modificar el tipo de esquema de cada subpropiedad y agregar esquemas adicionales según sea necesario.
En la documentación de la API, la Composición de esquemas se mostrará así:
Observará los dos objetos opcionales debajo de OneOf. Si desea mostrar sus nombres como se muestra en la imagen, debe introducir los nombres en el campo title del Editor de tipos.

Personalización#

Al elegir "Personalizar", puede editar directamente el JSON Schema dentro del editor.

Configuración de propiedades#

Para cada propiedad, hay varios botones ubicados junto al tipo de datos:
Botones de configuración de propiedades
BotónDescripción
*Indica si la propiedad es obligatoria.
NEspecifica si la propiedad permite valores nulos.
SettingsLe permite editar la configuración avanzada en el Editor de tipos.

Editor de tipos#

El Editor de tipos describe visualmente una propiedad de acuerdo con JSON Schema.
Una vez configurados estos ajustes avanzados, surtirán efecto en las siguientes áreas:
1.
Al agregar ejemplos de respuesta, puede hacer clic para generarlos automáticamente en función de la configuración.
2.
Se mostrarán en la documentación de la API.
3.
En el cuerpo de la petición, puede hacer clic para generarlo automáticamente en función de la configuración.
4.
Al enviar una petición, los datos devueltos se validarán automáticamente con la configuración.
5.
En el servicio mock, los datos de respuesta se generarán en función de la configuración.

Propiedad enumerada#

Para los tipos String, Integer y Number, Apidog admite enum. Al activar el interruptor de enum, puede agregar valores y descripciones de enum. Además, puede realizar una edición masiva de los valores de enum.

Mock#

Además de la configuración avanzada de la propiedad, puede especificar contenido mock para los campos rellenando valores mock. Los valores mock tienen prioridad sobre la configuración avanzada.
Los valores mock admiten la sintaxis de Faker.js, lo que le permite elegir los datos faker deseados directamente desde las opciones desplegables.
Los valores mock también se pueden introducir como valores fijos.

Configuración XML#

Para datos XML, el Editor de tipos en Apidog ofrece configuración XML adicional. Puede habilitar el interruptor XML, configurar propiedades como el nombre de la etiqueta, el espacio de nombres, etc., y previsualizar la estructura XML correspondiente.

HashMap, diccionario, array#

HashMap, también conocido como Map, diccionario o array asociativo. Es una colección de pares clave-valor, donde los nombres de las claves pueden ser cualquier contenido, en lugar de estar predefinidos.
La especificación OpenAPI admite la definición de un HashMap con claves de cadena. Esto se hace estableciendo el tipo de elemento en object y luego usando la palabra clave additionalProperties para especificar el tipo de los valores en los pares clave-valor.
Suponga que hay una API de consulta de información de usuarios y que el formato de los datos devueltos tiene los siguientes requisitos:
1.
Los datos devueltos son un objeto
2.
Los elementos secundarios del objeto son pares clave-valor de un HashMap
3.
El ID de usuario es la clave y la información del usuario es el valor
Para definir esto en Apidog:
1
Cree un nuevo esquema y asígnele el nombre "UserProfiles".
2
En "UserProfiles", especifique el nodo raíz como tipo "object". Luego haga clic en Configuración avanzada, establezca additionalProperties en Permitir y haga clic en el botón Configuración de la derecha.
Configuración de HashMap
3
En la ventana emergente, agregue la información de usuario requerida, con el nombre y el correo electrónico del usuario como campos del objeto. Se guarda automáticamente.
Agregar campos de información de usuario
4
En las respuestas de la documentación de la API, referencie el esquema en el nodo raíz y seleccione "user profiles", que acaba de crear.
Referenciar el esquema de perfiles de usuario
5
Haga clic en guardar y, a continuación, podrá ver el esquema definido y los valores de ejemplo en el ejemplo de respuesta devuelta dentro de la documentación de la API.
Ejemplo de esquema en la documentación de la API

Objetos con additionalProperties#

A medida que el trabajo de desarrollo real evoluciona, los objetos devueltos por la API pueden tener additionalProperties en comparación con el objeto definido originalmente. Según la especificación OpenAPI, esta situación también se puede gestionar mediante la función "additionalProperties".
Suponga que ahora existe una API de consulta de información de usuarios, en la que los campos de respuesta definidos originalmente al consultar información de usuario por ID de usuario eran name y email. Ahora, con la actualización del sistema, desea incluir otros campos.
Al editar la documentación de la API, puede definirlo de la siguiente manera: en el nodo raíz del modelo de datos, haga clic en Configuración avanzada, establezca additionalProperties en Permitir y establezca el tipo de valor del campo en any.
Configurar additionalProperties
Luego puede ver la estructura de datos definida y los valores de ejemplo en la documentación de la API.
Estructura de datos con additionalProperties

Tuplas#

Por lo general, los elementos internos de un array deben ser del mismo tipo, mientras que las tuplas pueden contener diferentes tipos de datos. Si desea definir una tupla que incluya tipos string e integer, como datos del tipo (0,"A",2,"C"), puede establecer el tipo de elemento en array en el modelo de datos, luego establecer el tipo de items en anyOf en el patrón de combinación y, a continuación, agregar elementos secundarios de tipo string e integer, respectivamente.
TIP
Si desea generar varios elementos al generar ejemplos, especifique el número mínimo y máximo de elementos en la configuración avanzada del nodo raíz.
Definir tuplas
Después de guardar, haga clic en Generar automáticamente en la documentación de la API para ver la estructura de datos definida y los valores de ejemplo.
Valores de ejemplo de tupla
También puede ver los valores de ejemplo de la tupla en la respuesta devuelta en la documentación.
Tupla en la documentación

Herramientas#

El Editor de esquemas en Apidog proporciona varias herramientas muy útiles.
HerramientaDescripción
Generate from JSON etc.Esta herramienta le permite generar esquemas automáticamente a partir de JSON, datos XML y otras fuentes, o directamente desde estructuras de tablas de base de datos. Obtenga más información sobre Generar esquemas a partir de JSON, etc..
PreviewEsta herramienta crea datos mock que se ajustan a la definición del esquema, proporcionando una vista previa de los datos esperados.
Generate codeEsta herramienta puede producir código de definición de estructuras de datos en varios lenguajes de programación. Obtenga más información sobre Generar código.
JSON SchemaEsta herramienta permite la edición directa de esquemas JSON para ajustes precisos y personalización.

Preguntas frecuentes#

P: Si una propiedad de cadena tiene varios valores enumerados y se usa en varias ubicaciones, ¿cómo se puede referenciar este enum de forma coherente en todas ellas?
R: Puede definir esta propiedad como un esquema independiente que conste de una sola propiedad, lo que permite referenciarla de forma coherente en diferentes partes de la documentación de la API.
Modified at 2026-06-09 08:52:14
Previous
Crear un nuevo esquema
Next
Generar esquemas a partir de JSON, etc.
Built with