Apidog Docs
🇧🇷 Português (Brasil)
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
🇧🇷 Português (Brasil)
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
🇧🇷 Português (Brasil)
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
HomeLearning Center
Support CenterAPI ReferencesDownloadChangelog
HomeLearning Center
Support CenterAPI ReferencesDownloadChangelog
  1. Schemas
  • Centro de Aprendizado da Apidog
  • Primeiros passos
    • Introdução ao Apidog
    • Conceitos básicos no Apidog
    • Navegando pelo Apidog
    • Início rápido
      • Visão geral
      • Criando um Endpoint
      • Fazendo uma Requisição
      • Adicionando uma assertiva
      • Criação de Cenários de Teste
      • Compartilhamento da documentação da API
      • Explore Mais
    • Migração para o Apidog
      • Visão geral
      • Importação Manual
      • Importação Agendada (Vincular Fontes de Dados)
      • Opções de importação
      • Exportar Dados
      • Importar de
        • Importar do Postman
        • Importar especificação OpenAPI
        • Importar cURL
        • Importar Markdowns
        • Importar do Insomnia
        • Importar do apiDoc
        • Importar arquivo .har
        • Importar WSDL
  • Dados de API mock
    • Visão geral
    • Smart Mock
    • Mock personalizado
    • Sequência de Prioridade do Mock
    • Scripts de Mock
    • Mock na Nuvem
    • Mock do Runner Auto-hospedado
    • Idioma do Mock (Locales)
  • Conta e preferências
    • Configurações da Conta
    • Geração de Token de Acesso OpenAPI
    • Notificação
    • Configurações de idioma
    • Teclas de Atalho
    • Configuração de Proxy de Rede
    • Backup de Dados
    • Atualizando o Apidog
    • Exclusão da conta
    • Recursos Experimentais
  • Enviar requisições
    • Visão geral
    • Depuração de SSE
    • Cliente MCP
    • Socket.IO
    • WebSocket
    • Webhook
    • SOAP ou WebService
    • GraphQL
    • gRPC
    • Use Agentes de Proxy de Requisição para Depuração
    • Criar requisições
      • Histórico de Requisições
      • Conceitos Básicos de Requisições
      • Parâmetros e Corpo
      • Cabeçalhos da Requisição
      • Configurações da Requisição
      • Depurar Requisições
      • Salvando Requisições como Endpoints
      • HTTP/2
    • Autenticação e autorização
      • Visão geral
      • Certificados de CA e de Cliente
      • Tipos de autorização
      • Digest Auth
      • OAuth 1.0
      • OAuth 2.0
      • Autenticação Hawk
      • Kerberos
      • NTLM
      • Akamai EdgeGrid
    • Resposta e cookies
      • Visualização de respostas de API
      • Gerenciamento de Cookies
      • Visão geral
  • Desenvolver e depurar APIs
    • Visão geral
    • Gerando Requisições
    • Envio de Requisições
    • Casos de Depuração
    • Casos de teste
    • Valores Dinâmicos
    • Validação de Respostas
    • Design-First vs Request-First
    • Geração de Código
    • Ambientes e variáveis
      • Visão geral
      • Usando variáveis
      • Gerenciamento de Ambientes
    • Segredos do cofre
      • Visão geral
      • HashiCorp Vault
      • Azure Key Vault
      • AWS Secrets Manager
    • Módulos de valores dinâmicos
      • Airline
      • Animal
      • Cor
      • Comércio
      • Empresa
      • Banco de Dados
      • Tipo de dados
      • Data
      • Finanças
      • Comida
      • Git
      • Hacker
      • Helpers
      • Imagem
      • Internet
      • Localização
      • Lorem
      • Música
      • Número
      • Pessoa
      • Telefone
      • Ciência
      • String
      • Sistema
      • Veículo
      • Palavra
    • Pré e pós-processadores
      • Visão geral
      • Assertiva
      • Extrair Variável
      • Espera
      • Segurança
      • Operações de banco de dados
        • Visão geral
        • MySQL
        • MongoDB
        • Redis
        • Cliente Oracle
      • Uso de scripts
        • Visão geral
        • Scripts de Pré-processador
        • Scripts de Pós-processamento
        • Scripts Públicos
        • Referência de Scripts do Postman
        • Chamando Outras Linguagens de Programação
        • Usando bibliotecas JS
        • Visualização de Respostas
        • Exemplos de scripts
          • Scripts de assertiva
          • Usando Variáveis
          • Modificando Requisições
          • Outros exemplos
    • Depuração de APIs
      • AI Agent Debugger
      • A2A Debugger
  • Projetar APIs
    • Visão geral
    • Criar um Novo Projeto de API
    • Conceitos Básicos de Endpoint
    • Diretrizes de Design de API
    • Módulo
    • Configurar vários exemplos de corpo da requisição
    • Componentes
    • Campos Comuns
    • Parâmetros Globais
    • Histórico de Alterações do Endpoint
    • Comentários
    • Gerenciamento de Endpoints em Lote
    • API de Protocolo Personalizado
    • Modo Spec-first (Beta)
    • Esquemas de segurança
      • Visão geral
      • Criar um esquema de segurança
      • Usar o Security Scheme
      • Esquema de segurança na documentação online
    • Recursos avançados
      • Campos de Endpoint Personalizados
      • Cenários de Teste Associados
      • Status do endpoint
      • Aparência das Listas de Parâmetros
      • Identificação Única de Endpoint
    • Schemas
      • Visão geral
      • Criar um Novo Schema
      • Criar um Schema
      • Gerar schemas a partir de JSON etc.
      • oneOf, allOf, anyOf
      • Usando Discriminator
  • Branches
    • Visão geral
    • Criando uma Branch de Sprint
    • Testando APIs em uma Branch
    • Projetando APIs em uma branch
    • Mesclando branches de sprint
    • Gerenciando Branches de Sprint
    • AI Branch (Beta)
  • Testes de API
    • Visão geral
    • Cenários de teste
      • Criar um cenário de teste
      • Passar Dados Entre Requisições
      • Condições de Controle de Fluxo
      • Sincronizar dados de endpoints e casos de endpoint
      • Importar Endpoints e Casos de Endpoint de Outros Projetos
      • Exportar Cenários de Teste
    • Relatórios de teste
      • Relatórios de teste
    • Executar cenários de teste
      • Executar um cenário de teste
      • Executar cenários de teste em lote
      • Testes Orientados por Dados
      • Dados de Teste Compartilhados
      • Tarefas agendadas
      • Gerenciar o ambiente de execução de APIs de outros projetos
    • Suíte de testes
      • Visão geral
      • Criar Uma Suíte de Testes
      • Orquestrar Suite de Testes
      • Executar Suítes de Teste Localmente
      • Executar Suítes de Teste Via CLI
      • Tarefas agendadas
    • Testar APIs
      • Teste de integração
      • Teste de desempenho
      • Testes de Ponta a Ponta
      • Teste de regressão
      • Teste de Contrato
    • Apidog CLI
      • Visão geral
      • Instalando e executando o Apidog CLI
      • Opções da CLI do Apidog
    • CI/CD
      • Visão geral
      • Integrar com Github Actions
      • Integre com o Gitlab
      • Integrar com o Jenkins
      • Acionar teste por commit do Git
  • Publicar documentação de API
    • Visão geral
    • Tecnologias de API Suportadas
    • Compartilhamento rápido
    • Visualização da documentação da API
    • Documentação em Markdown
    • Publicação de sites de documentação
    • Página de login personalizada
    • Layouts Personalizados
    • CSS, JavaScript e HTML personalizados
    • Domínio Personalizado
    • Recursos de IA
    • Configurações de SEO
    • Configurações avançadas
      • Pesquisa na documentação
      • Proxy CORS
      • Integração com o Google Analytics
      • Configurações da Árvore de Pastas
      • Configurações de Visibilidade
      • Incorporação de valores em URLs de documentação
    • Versões da API
      • Visão geral
      • Criando versões de API
      • Publicação de Versões da API
      • Compartilhamento de Endpoints com Versões da API
  • Recursos de IA
    • Visão geral
    • Habilitando recursos de IA
    • Geração de Casos de Teste
    • Modificando esquemas com IA
    • Verificação de conformidade de endpoint
    • Verificação de Completude da Documentação da API
    • Nomeação de Campos com IA
    • Perguntas frequentes
  • Servidor MCP do Apidog
    • Visão geral
    • Conectar projeto Apidog à IA
    • Conectar documentação publicada à IA
    • Conectar Arquivos OpenAPI à IA
  • Boas práticas
    • Como lidar com assinaturas de API
    • Acessando APIs protegidas por OAuth 2.0
    • Fluxo de Trabalho de Colaboração
    • Gerenciamento do Estado de Autenticação
  • Espaço offline
    • Visão geral
  • Administração
    • Gerenciamento de projetos
      • Gerenciamento de Projetos
      • Configurações de notificação
      • Gerenciamento de membros do projeto
      • Recursos do projeto
        • Conexão com Banco de Dados
        • Conexão Git
    • Gerenciamento de equipes
      • Gerenciando equipes
      • Gerenciando membros da equipe
      • Atividades da Equipe
      • Funções e permissões da equipe
      • Recursos da equipe
        • General Runner
        • Variáveis de Equipe
        • Agente de Proxy de Requisições
      • Colaborações em tempo real
        • Colaboração em Equipe
    • Checklist de integração
      • Conceitos Básicos
      • Guia de Onboarding
    • Gerenciamento da organização
      • Gerenciamento de Organização
      • Funções e permissões da organização
      • Gerenciamento de planos
        • Gerentes de cobrança em organizações
      • Single Sign-On (SSO)
        • Visão geral do SSO
        • Configurando o Microsoft Entra ID
        • Configurando o Okta
        • Configurando SSO para uma organização
        • Gerenciamento de contas de usuário
        • Mapeamento de Grupos para Equipes
      • Provisionamento SCIM
        • Introdução ao provisionamento SCIM
        • Microsoft Entra ID
        • Okta
      • Recursos da organização
        • Runner Auto-Hospedado
  • Apidog Europe
    • Apidog Europe
  • Cobrança
    • Visão geral
    • Créditos
    • Atualizando seu plano
    • Métodos de Pagamento Alternativos
    • Gerenciamento de assinaturas
    • Movendo equipes pagas para organizações
  • Complementos
    • Hub de APIs
    • Plugin Apidog Intellij IDEA
    • Extensão do navegador
      • Chrome
      • Microsoft Edge
    • Proxy de requisições
      • Proxy de Requisição na Web
      • Proxy de Requisição em Documentação Compartilhada
      • Proxy de Requisição no Cliente
  • Dados e segurança
    • Armazenamento e Segurança de Dados
    • Privacidade e Segurança dos Dados do Usuário
    • Roteamento de Requisições e Segurança de Dados
  • Referências
    • Abordagem API Design-First
    • Extensões da especificação OpenAPI do Apidog
    • JSONPath
    • XPath
    • Expressões Regulares
    • JSON Schema
    • Formato de Arquivo CSV
    • Instalando o ambiente Java
    • Ambiente de Implantação do Runner
    • Sintaxe Markdown do Apidog
    • Extensões Swagger do Apidog
      • Visão geral
      • x-apidog-folder
      • x-apidog-status
      • x-apidog-name
      • x-apidog-maintainer
    • Extensões JSON Schema do Apidog
      • Visão geral
      • x-apidog-mock
      • x-apidog-orders
      • x-apidog-enum
  • Central de suporte
    • Apidog Support Center
    • Importar/exportar
      • Como importar dados de API para o Apidog?
      • Como importar cURL no Apidog?
      • Como migrar ambientes do Postman para o Apidog?
      • Como agrupar endpoints automaticamente na importação do Swagger/OpenAPI?
    • Envio de requisições
      • O Apidog oferece suporte a Socket.IO?
      • Por que o “+” no valor do parâmetro é decodificado como um espaço?
      • Como enviar uma requisição no Apidog?
      • Como enviar uma requisição GraphQL no Apidog?
      • Como enviar uma requisição gRPC no Apidog?
      • Como enviar uma requisição SOAP/WebService no Apidog?
      • Como enviar uma requisição WebSocket no Apidog?
      • O Apidog oferece suporte a scripts de pré-requisição/teste e assertivas em APIs WebSocket?
      • Como enviar uma requisição SSE no Apidog?
      • Como adicionar cabeçalhos padrão no nível da pasta?
      • O Apidog oferece suporte a scripts de pré-requisição/teste e assertivas em APIs gRPC?
      • Erro de resolvedor DNS ELANREFUSED.DNS
      • Por que estou recebendo um erro "socket hang up" ao enviar uma requisição?
      • Correção de erros de requisição
        • Corrigindo o erro read ECONNRESET
        • Corrigindo o erro ECONNREFUSED
        • Corrigindo o erro ETIMEDOUT
        • Corrigindo o erro ENOTFOUND: Couldn't resolve host
        • Corrigindo ENOTFOUND: getaddrinfo ENOTFOUND www Error
        • Corrigindo o erro connect EHOSTUNREACH
    • Projeto de APIs
      • Como usar variáveis no caminho?
      • Posso usar um componente de resposta como a resposta padrão?
      • Como verificar quem modificou um endpoint?
      • Como posso excluir pastas de endpoints em massa no Apidog?
      • Como posso adicionar/remover prefixos em massa ao caminho dos endpoints?
      • Como mover o nível de uma propriedade no Editor de Schema?
      • Se uma propriedade de string tiver vários valores enumerados e for usada em diversos locais, como esse enum poderá ser referenciado de forma consistente em todos eles?
      • Como obter o ID da pasta de recursos do Apidog?
      • Como obtenho o ID da pasta de recursos do Apidog?
      • Como uso variáveis em um caminho de URL?
      • O que devo fazer se um endpoint, documento ou cenário de teste for excluído acidentalmente?
      • O Apidog oferece suporte a código de requisição para endpoints personalizados?
      • Como agrupar endpoints automaticamente ao importar Swagger/OpenAPI para o Apidog?
      • Como gerar dados de array sem duplicação em respostas mock?
      • Por que a entrada de "#" não é compatível no caminho?
    • Depuração de APIs
      • Como o Apidog se integra a sistemas de gerenciamento de chaves de terceiros?
      • Por que a mesma requisição funciona corretamente em outras ferramentas (como o Postman), mas não no Apidog?
      • Como buscar valores de variáveis no banco de dados no Apidog?
      • Como migrar ambientes de outras ferramentas para o Apidog?
      • Como criar assertivas usando scripts no Apidog?
      • JSONPath só consegue extrair arrays. Como podemos extrair um único elemento de dentro deles no Apidog?
      • Como configurar operações de banco de dados no Apidog quando ambientes diferentes têm credenciais de conta de banco de dados diferentes?
      • Como obter a URL base do serviço em um script personalizado?
      • Por que o Apidog relata um erro de exceder o comprimento máximo de string do Node.js quando a resposta da API é grande demais?
      • Qual é o limite de tamanho para impressão no console? Por que recebo um erro ao imprimir arquivos grandes?
      • Como resolver erros de conexão com banco de dados DB2 no Windows?
      • Por que estou recebendo o erro NJS-045 ao conectar a um banco de dados Oracle no Apidog?
      • Como gerar valores dinâmicos em scripts personalizados do Apidog?
      • Por que a requisição do cliente para o mesmo endpoint é bem-sucedida, mas ocorre um erro ao depurar no lado web: "Não foi possível solicitar o endereço"?
      • Por que o Apidog relata um erro quando a resposta é muito grande?
      • Como você usa o endpoint de gravação do Apidog?
      • Ao definir uma resposta de endpoint, é permitido que o endpoint não tenha conteúdo de resposta?
      • Como obter a baseURL do serviço em um script personalizado?
      • Como visualizar o pacote original no Apidog?
      • Por que estou vendo o erro "Invalid URI xxx" ao fazer uma requisição?
      • Como faço uma requisição assíncrona em um script do Apidog?
      • Por que vejo a mensagem "Couldn't resolve host" ao enviar uma requisição?
      • Qual é o limite de tamanho de impressão do console? Por que recebo um erro ao imprimir um arquivo grande?
      • Como faço upload de um arquivo em uma requisição de endpoint?
      • O que fazer se o Apidog travar ou os dados da resposta não forem exibidos?
      • URI de redirecionamento oficial usada pelo Apidog para OAuth2.0
    • Dados de API mock
      • Como simular APIs automaticamente?
      • O que o mock do Apidog pode fazer?
      • Como simular dados fixos de API no Apidog?
      • Como fazer mock de dados condicionais no Apidog?
      • Como habilitar o cloud mock no Apidog?
      • Como habilitar o mock auto-hospedado no Apidog?
      • O Apidog oferece suporte a mocks de APIs WebSocket?
      • Por que o navegador não retorna conteúdo ao solicitar o endpoint de mock?
    • Testes automatizados
      • Por que os cenários de teste são executados sem problemas no meu cliente local, mas ocorrem erros ao executá-los no Apidog CLI ou runner?
      • Como criar um cenário de teste no Apidog?
      • Como passar dados entre etapas de teste?
      • Por que não consigo referenciar dados da etapa anterior com sucesso?
      • Como usar o loop foreach no Apidog?
      • Quais são as diferenças entre sincronizar dados de endpoints/casos de endpoint?
      • Como usar dados de teste no Apidog?
      • Como recuperar dados de teste em scripts no Apidog?
      • Como executar cenários de teste em lote no Apidog?
      • Como agendar tarefas de teste no Apidog?
      • Como executar teste de desempenho no Apidog?
      • Como posso visualizar as requisições e respostas reais nos testes de desempenho?
      • Como posso exportar relatórios de teste de desempenho no Apidog?
      • Como usar resultados de consultas de banco de dados como parâmetros para requisições de API em loop?
      • Capture e valide webhooks do Stripe no ApiDog durante CI/CD
      • Como resolver o erro "Error: unable to verify the first certificate on runner"?
      • Erro "Not Found" no contêiner Docker do General Runner.
      • Como definir o host do servidor para o General Runner na versão Web do Apidog?
      • Por que o cenário de teste agendado terminou com 0 requisições?
      • O que devo fazer se o parâmetro de upload de arquivo não puder ser encontrado no Runner ou na CLI?
      • Como usar o Runner para executar um cenário de teste com uma etapa de upload de arquivo?
      • Como resolvo o erro "Error: unable to verify the first certificate on runner"?
      • Como você acessa e pesquisa os logs do runner para identificar o problema quando ocorre uma falha com um runner?
      • O que devo fazer se o parâmetro do endpoint for um arquivo de upload e não puder ser encontrado no Runner ou na CLI?
      • Por que as etapas de teste não são sincronizadas automaticamente quando o caso de uso da API é alterado?
      • Por que usar múltiplos sinais de dólar em um documento Markdown faz com que algum conteúdo não seja exibido corretamente?
      • O Runner auto-hospedado gera um relatório de teste no servidor após executar uma tarefa?
      • Posso adicionar pré/pós-processadores unificados a requisições em um cenário de teste?
      • Como posso manter valores dinâmicos consistentes durante uma única execução de teste automatizado?
    • Publicar documentação de API
      • Como ocultar todos os logotipos da Apidog em documentos publicados?
      • Quando a especificação da API for atualizada, a documentação da API será alterada?
      • Como compartilhar APIs com colaboradores no Apidog?
      • Como personalizar o domínio das documentações do Apidog?
      • Como criar documentação multiversão no Apidog?
      • Escopo de compartilhamento para Sites de Documentação Publicados no Apidog
      • Escopo de compartilhamento para a lista Share Doc no Apidog
      • Por que o Share Docs publicado não está mostrando o hostname?
      • Como os usuários da documentação podem modificar a URL base em documentações compartilhadas?
      • Posso duplicar um documento publicado do Apidog para usar no meu próprio projeto?
      • Como Compartilhar Cabeçalhos (por exemplo, Token) na Documentação Online do Apidog?
      • Por que meu membro da equipe não consegue encontrar a documentação publicada?
      • Como corrijo a expiração de um certificado SSL ou o erro Cloudflare 526 no meu domínio personalizado?
      • SMTP personalizado configurado com sucesso, mas usuários na lista de permissões não recebem e-mails de OTP
    • Markdown
      • Como usar cartões para vincular a várias páginas ou endpoints dentro do Apidog?
      • Por que alguns conteúdos não são exibidos corretamente ao usar vários símbolos $ em documentos Markdown?
      • Como usar imagens com fundo transparente no Markdown do Apidog?
      • Como definir a largura da coluna de uma tabela Markdown?
      • Como posso inserir APIs internas, documentos, esquemas de dados ou pastas em um documento Markdown?
      • Como adicionar um link para um documento ou endpoint dentro de um projeto em um componente de cartão do Apidog?
    • Branches
      • Como acessar a branch de sprint?
    • Administração
      • Como instalar o cliente Apidog silenciosamente?
      • Por que estou vendo um erro de “Sem permissão” apesar de ter acesso de administrador?
      • Como verifico o número da versão do runner?
      • O Apidog oferece suporte ao Windows 7?
      • Por que o Apidog mostra o erro "Cannot locate program entry point DiscardVirtualMemory in dynamic link library KERNEL32.dll" após a instalação?
      • Alterações de assinatura e reembolsos
      • As requisições web funcionam, mas o app recebe "read ECONNRESET" — por quê?
      • Por que não consigo abrir o Apidog após uma atualização do sistema Windows?
      • Por que o Apidog não abre após a atualização do sistema Windows
    • Cobrança
      • Posso configurar uma conta de cobrança separada para minha equipe no Apidog?
      • Problemas de acesso da equipe e faturamento no Apidog
      • Membro convidado da equipe não consegue acessar o Apidog.
      • Transferir uma equipe pessoal paga para uma organização
    • On-premises
      • Gerenciamento de usuários e acesso na versão Self-Hosted (Enterprise) do Apidog
    • Web e cliente
      • Download e instalação da versão desktop para Linux
  1. Schemas

Criar um Schema

Utilizando o Editor de Schema#

O Editor de Schema é uma ferramenta poderosa que auxilia no design e na modelagem das estruturas de dados utilizadas pela sua API. Ele é baseado em JSON Schema e é utilizado para projetar estruturas de dados JSON ou XML.
Utilize o Editor de Schema para:
Desenvolver corpos de requisição e resposta de API adaptados a endpoints de API específicos.
Construir modelos de dados aplicáveis a uma ou várias APIs.
Todo schema começa com um objeto raiz. Para criar um schema, adicione propriedades a esse objeto raiz.

Criando um Schema#

1
Adicionar Propriedades
Clique no sinal + (Adicionar um nó filho) ao lado do objeto raiz para introduzir novas propriedades.
2
Nomear Sua Propriedade
Insira o nome (ou chave) da propriedade.
3
Selecionar o Tipo da Propriedade
Escolha tipos de dados comuns ou selecione referências a schemas predefinidos.
4
Configurações Avançadas
Utilize o Editor de Tipo para atribuir tipos de dados, como valores padrão e formatos, a cada propriedade.
5
Gerenciar Propriedades
Reorganize propriedades movendo, copiando ou excluindo-as. Você também pode enriquecer propriedades com descrições e marcá-las como obrigatórias.
Métodos Alternativos
Você também pode criar novos schemas importando de tabelas de banco de dados ou arquivos JSON schema. Saiba mais sobre Gerar schemas a partir de JSON etc..

Tipo de Propriedade#

Em conformidade com o padrão JSON Schema, o Editor de Schema do Apidog oferece suporte aos seguintes tipos básicos de dados:
TipoDescrição
nullRepresenta um valor JSON "null".
booleanRepresenta um valor "true" ou "false", correspondente ao valor JSON "true" ou "false".
objectRepresenta uma coleção não ordenada de pares chave-valor, correspondente ao valor JSON "object".
arrayRepresenta uma lista ordenada de valores, correspondente ao valor JSON "array".
numberRepresenta um valor numérico decimal de base 10 e precisão arbitrária, correspondente ao valor JSON "number".
stringRepresenta uma sequência de caracteres Unicode, correspondente ao valor JSON "string".
Tipo de Dados Array
Ao usar o tipo de dados array, uma propriedade de subnível ITEMS será gerada automaticamente. Ela especifica o tipo de dados dos elementos dentro do array.
Além das estruturas de dados padrão mencionadas anteriormente, o Editor de Schema do Apidog também oferece suporte ao seguinte:
Referenciar outros schemas: Capacidade de referenciar e reutilizar schemas definidos em outro local dentro da documentação da API.
any: Representa um valor que pode ser de qualquer tipo de dados.
Composição de Schema: Permite combinar vários schemas para criar estruturas de dados complexas.
Personalização: Permite que os usuários personalizem e adaptem o schema para atender a requisitos específicos e necessidades de modelagem de dados.

Referenciando Outros Schemas#

Você pode utilizar o recurso "Referenciar outros schemas" para referenciar schemas definidos anteriormente.
Depois de referenciar outro schema, você pode visualizar o schema referenciado no Editor de Schema.
Pontos principais sobre schemas referenciados:
Quaisquer modificações feitas no schema original serão refletidas no schema que o referencia.
O schema referenciado não pode ser editado diretamente; para fazer alterações, você pode:
Clicar no nome do schema para navegar até o schema original e editá-lo.
Ao clicar em Desreferenciar no schema, o schema será transformado em uma série de propriedades independentes, permitindo que você as edite individualmente.
Se precisar modificar a definição de uma propriedade específica de forma independente, você pode optar por Desreferenciar essa propriedade, permitindo modificações individuais. Quaisquer alterações no schema original não afetarão a propriedade desreferenciada.
Nos casos em que nem todas as propriedades do schema referenciado forem necessárias no endpoint, você pode clicar em Ocultar para ocultar propriedades desnecessárias.

Composição de Schema#

Se uma propriedade na sua estrutura de dados puder ter vários tipos de dados possíveis, você poderá usar a Composição de Schema para combinar vários schemas.
O Apidog oferece suporte às seguintes palavras-chave de composição:
Palavra-chaveDescrição
allOf (AND)Especifica que a propriedade deve obedecer a todos os schemas definidos na composição.
anyOf (OR)Especifica que a propriedade pode estar em conformidade com qualquer um dos schemas listados na composição.
oneOf (XOR)Especifica que a propriedade deve obedecer a um, e somente um, dos schemas definidos na composição.
Depois de selecionar Composição de Schema, subpropriedades chamadas "0" e "1" aparecerão sob a propriedade, representando cada schema dentro da composição. Você pode modificar o tipo de schema de cada subpropriedade e adicionar schemas adicionais conforme necessário.
Na documentação da API, a Composição de Schema será exibida assim:
Você observará os dois objetos opcionais em OneOf. Se quiser exibir os nomes deles como mostrado na imagem, você precisará inserir os nomes no campo title no Editor de Tipo.

Personalização#

Ao escolher "Personalizar", você pode editar diretamente o JSON Schema dentro do editor.

Configurações da Propriedade#

Para cada propriedade, há vários botões localizados ao lado do tipo de dados:
Botões de configurações da propriedade
BotãoDescrição
*Indica se a propriedade é obrigatória.
NEspecifica se a propriedade permite valores nulos.
SettingsPermite que você edite configurações avançadas no Editor de Tipo.

Editor de Tipo#

O Editor de Tipo descreve visualmente uma propriedade em conformidade com JSON Schema.
Depois que essas configurações avançadas forem configuradas, elas entrarão em vigor nas seguintes áreas:
1.
Ao adicionar exemplos de resposta, você pode clicar para gerar automaticamente com base nas configurações.
2.
Elas serão exibidas na documentação da API.
3.
No corpo da requisição, você pode clicar para gerar automaticamente com base nas configurações.
4.
Ao enviar uma requisição, os dados retornados serão validados automaticamente em relação às configurações.
5.
No serviço de mock, os dados de resposta serão gerados com base nas configurações.

Propriedade Enumerada#

Para os tipos String, Integer e Number, o Apidog oferece suporte a enum. Ao ativar o seletor de enum, você pode adicionar valores e descrições de enum. Além disso, você pode realizar Edição em Massa para valores de enum.

Mock#

Além das configurações avançadas na propriedade, você pode especificar conteúdo de mock para campos preenchendo valores de mock. Valores de mock têm precedência sobre as configurações nas configurações avançadas.
Valores de mock oferecem suporte à sintaxe Faker.js, permitindo que você escolha os dados faker desejados diretamente nas opções do menu suspenso.
Valores de mock também podem ser inseridos como valores fixos.

Configurações de XML#

Para dados XML, o Editor de Tipo no Apidog oferece Configurações de XML adicionais. Você pode ativar o seletor XML, configurar propriedades como nome da tag, namespace etc. e visualizar a estrutura XML correspondente.

HashMap, Dicionário, Array#

HashMap, também conhecido como Map, dicionário ou array associativo. É uma coleção de pares chave-valor, em que os nomes das chaves podem ser qualquer conteúdo, em vez de predefinidos.
A especificação OpenAPI oferece suporte à definição de um HashMap com chaves string. Isso é feito definindo o tipo do elemento como object e, em seguida, usando a palavra-chave additionalProperties para especificar o tipo dos valores nos pares chave-valor.
Suponha que exista uma API de consulta de informações de usuário, e o formato dos dados retornados tenha os seguintes requisitos:
1.
Os dados retornados são um objeto
2.
Os elementos filhos do objeto são pares chave-valor de um HashMap
3.
O ID do usuário é a chave, e as informações do usuário são o valor
Para definir isso no Apidog:
1
Crie um novo schema e nomeie-o como "UserProfiles".
2
Em "UserProfiles", especifique o nó raiz como um tipo "object". Em seguida, clique em Configuração Avançada, defina additionalProperties como Permitir e clique no botão Settings à direita.
Configuração de HashMap
3
No pop-up, adicione as informações de usuário necessárias, com o nome e o email do usuário como campos do objeto. Ele salva automaticamente.
Adição de campos de informações de usuário
4
Nas respostas da documentação da API, referencie o schema no nó raiz e selecione "user profiles" que você acabou de criar.
Referência ao schema de perfis de usuário
5
Clique em salvar e, em seguida, você poderá ver o schema definido e os valores de exemplo no exemplo de resposta de retorno dentro da documentação da API.
Exemplo de schema na documentação da API

Objetos com additionalProperties#

À medida que o trabalho de desenvolvimento real evolui, os objetos retornados pela API podem ter additionalProperties em comparação com o objeto originalmente definido. De acordo com a especificação OpenAPI, essa situação também pode ser tratada usando o recurso "additionalProperties".
Suponha que agora exista uma API de consulta de informações de usuário, em que os campos de resposta originalmente definidos ao consultar informações de usuário por ID de usuário eram name e email. Agora, com a atualização do sistema, você deseja incluir outros campos.
Ao editar a documentação da API, você pode defini-la da seguinte forma: no nó raiz do modelo de dados, clique em Configurações Avançadas, defina additionalProperties como Permitir e defina o tipo de valor do campo como any.
Configuração de additionalProperties
Então você poderá ver a estrutura de dados definida e os valores de exemplo na documentação da API.
Estrutura de dados com additionalProperties

Tuplas#

Normalmente, os elementos internos de um array devem ser do mesmo tipo, enquanto tuplas podem conter diferentes tipos de dados. Se você quiser definir uma tupla que inclua tipos string e integer, como dados do tipo (0,"A",2,"C"), poderá definir o tipo do elemento como array no modelo de dados, depois definir o tipo de items como anyOf no padrão de combinação e, em seguida, adicionar elementos filhos dos tipos string e integer, respectivamente.
TIP
Se você quiser gerar vários elementos ao gerar exemplos, especifique o número mínimo e máximo de elementos nas configurações avançadas do nó raiz.
Definição de tuplas
Depois de salvar, clique em Gerar Automaticamente na documentação da API para ver a estrutura de dados definida e os valores de exemplo.
Valores de exemplo de tupla
Você também pode ver os valores de exemplo da tupla na resposta de retorno na documentação.
Tupla na documentação

Ferramentas#

O Editor de Schema no Apidog fornece várias ferramentas altamente úteis.
FerramentaDescrição
Generate from JSON etc.Esta ferramenta permite que você gere schemas automaticamente a partir de JSON, dados XML e outras fontes, ou diretamente de estruturas de tabelas de banco de dados. Saiba mais sobre Gerar schemas a partir de JSON etc..
PreviewEsta ferramenta cria dados de mock que seguem a definição do schema, fornecendo uma prévia dos dados esperados.
Generate codeEsta ferramenta pode produzir código de definição de estrutura de dados em várias linguagens de programação. Saiba mais sobre Gerar código.
JSON SchemaEsta ferramenta permite a edição direta de schemas JSON para ajustes finos e personalização.

FAQ#

P: Se uma propriedade string tiver vários valores enumerados e for usada em vários locais, como esse enum pode ser referenciado de forma consistente em todos eles?
R: Você pode definir essa propriedade como um schema independente composto por uma única propriedade, permitindo que ela seja referenciada de forma consistente em diferentes partes da documentação da API.
Modified at 2026-06-11 10:21:25
Previous
Criar um Novo Schema
Next
Gerar schemas a partir de JSON etc.
Built with