Validador OpenAPI 3.1
Cole um documento OpenAPI 3.1 em JSON ou YAML para verificar sua estrutura de nível superior. A ferramenta procura o campo openapi, um objeto info com title e version e um objeto paths. É uma verificação estrutural, então não valida as palavras-chave de schema do 3.1, e alguns padrões compatíveis com o 3.1 geram um aviso ou um erro que vale a pena conhecer.
Como verificar um documento 3.1
-
1
Cole sua spec 3.1
Cole o documento com `openapi: 3.1.0` (ou outro valor 3.1.x) no campo, em JSON ou YAML.
-
2
Execute a verificação
Avance para a etapa de resultados para ver os erros e os avisos.
-
3
Leia as notas do 3.1
Confira se um item sinalizado é um erro real ou um dos padrões do 3.1 descritos abaixo.
-
4
Complete com um linter completo
Use um validador completo para as regras do JSON Schema 2020-12 quando a estrutura estiver limpa.
O que esta ferramenta faz com arquivos 3.1
A versão 3.1 alinha os schemas ao JSON Schema 2020-12. Este validador não lê o interior dos schemas. Ele inspeciona apenas o nível superior e as entradas de caminho, então recursos de schema do 3.1, como arrays de tipos ou const, não passam nem falham aqui. O valor da versão também não é verificado: qualquer campo openapi conta como presente.
Dois padrões do 3.1 para observar
| Padrão no seu arquivo 3.1 | O que a ferramenta informa |
|---|---|
Objeto webhooks e nenhum objeto paths |
Erro: objeto ‘paths’ ausente. |
Operação trace em um caminho |
Aviso: método desconhecido ‘trace’ no caminho |
$ref como chave em um item de caminho |
Aviso: método desconhecido ‘$ref’ no caminho |
O OpenAPI 3.1 permite descrever apenas webhooks e omitir paths. Esta ferramenta exige paths, então um arquivo assim é reportado com erro, mesmo que a especificação o permita. Adicionar um objeto vazio paths: {} atende à verificação.
A lista de métodos usada aqui é get, post, put, patch, delete, head, options, além de parameters, summary, description e servers. O método trace existe na especificação, mas não está nessa lista, então gera um aviso que você pode ignorar se for intencional. Avisos não tornam o documento inválido.
Um exemplo prático
openapi: 3.1.0
info:
title: Events API
version: 2.0.0
webhooks:
newEvent:
post:
summary: Event delivered
Resultado: um erro, “objeto ‘paths’ ausente.” Adicione paths: {} e a estrutura passa.
Quando usar isto e quando ir além
Use esta página para confirmar que um arquivo 3.1 está bem formado antes de abrir um pull request ou compartilhá-lo com um parceiro. As verificações são rápidas e as mensagens são simples. Com a estrutura correta, as regras de schema do 3.1 ainda precisam de um linter completo, porque é aí que se escondem a maioria dos erros reais: declarações de tipo inválidas, referências quebradas e definições de resposta ausentes. Trate as duas etapas como complementares, não como alternativas.
Se um aviso for intencional, como trace, registre isso no seu pull request para que os revisores não se perguntem o motivo. Avisos nunca mudam o resultado de válido, então podem ser mantidos com segurança. Os erros são os itens a resolver antes de compartilhar o arquivo.
Perguntas frequentes
Não. Ela não olha dentro dos objetos de schema, então as palavras-chave do JSON Schema 2020-12 não são verificadas. Ela cobre apenas a estrutura de nível superior e as entradas de caminho.
A verificação exige um objeto paths. Um arquivo 3.1 só com webhooks não tem esse objeto, então reporta um erro de paths ausente. Adicione um paths: {} vazio para passar.
Não. Ela apenas verifica se existe um campo openapi ou swagger, não qual é o valor.
Não necessariamente. trace é uma operação válida na especificação. A ferramenta apenas não a inclui na lista de métodos conhecidos.
Ferramentas relacionadas
Contador de FPS
Meça o FPS do navegador com requestAnimationFrame: suavização, taxa de quadros mínima e máxima, limite de alerta e gráfico opcional. Roda localmente, sem upload nem API.
Gerador de Configuração Webpack
Crie um webpack.config.js para webpack 5 com JavaScript puro, React ou Vue: TypeScript, Babel, CSS ou Sass, imagens, HtmlWebpackPlugin, servidor de desenvolvimento e a linha de npm install.
Conversor de Tamanho de Arquivo
Converta entre bytes, KB, MB, GB, TB e as unidades binárias IEC (KiB, MiB, GiB, TiB), combinando decimal e binário como preferir.
Gerador de textura de ruído
Gere uma textura de ruído em SVG que se repete sem emendas, com opacidade, frequência do grão, tipo de ruído e cor de fundo ajustáveis, e copie o CSS já pronto.
Gerador de Licença
Gere o texto completo de licenças de código aberto com seu nome e ano preenchidos. Abrange licenças MIT, Apache 2.0, GPLv3, BSD-3, MPL-2.0 e CC.
Desofuscador de JavaScript
Desofusque JavaScript minificado ou empacotado com renomeação de variáveis, decodificação de arrays de strings, reversão de achatamento de fluxo de controle e embelezamento.
Ferramenta disponível em outros idiomas
- ตัวตรวจสอบ OpenAPI 3.1 [TH]
- Walidator OpenAPI 3.1 [PL]
- Công cụ kiểm tra OpenAPI 3.1 [VI]
- Validator OpenAPI 3.1 [ID]
- مدقق OpenAPI 3.1 [AR]
- OpenAPI 3.1 Validator [DE]
- OpenAPI 3.1 バリデーター [JA]
- Validador de OpenAPI 3.1 [ES]
- OpenAPI 3.1 검증기 [KO]
- OpenAPI 3.1-validerare [SV]
- Validateur OpenAPI 3.1 [FR]
- OpenAPI 3.1 Validator [NL]
- OpenAPI 3.1 Validator [EN]
- Validatore OpenAPI 3.1 [IT]
- Валидатор OpenAPI 3.1 [RU]
- OpenAPI 3.1 Doğrulayıcı [TR]
- OpenAPI 3.1 验证器 [ZH]