Fatos principais
- Categoria
- Desenvolvimento e Web
- Tipos de entrada
- textarea, text, select, checkbox
- Tipo de saída
- html
- Cobertura de amostras
- 4
- API disponível
- Yes
Visão geral
O Validador de Contrato de Resposta API é uma ferramenta essencial para desenvolvedores e testadores que precisam garantir que as respostas reais de uma API correspondam exatamente ao esquema definido em uma especificação OpenAPI 3.x. Ao cruzar o payload JSON retornado com o documento YAML ou JSON da sua documentação, ele identifica rapidamente campos ausentes, tipos de dados incorretos, violações de enum e propriedades não documentadas, assegurando a integridade e a confiabilidade da sua integração.
Quando usar
- •Quando você precisa verificar se as alterações recentes no backend quebraram o contrato da API estabelecido com o frontend.
- •Durante a criação de testes para validar se os payloads de resposta estão em total conformidade com a documentação OpenAPI.
- •Ao auditar APIs para garantir que os dados recebidos correspondem aos tipos e formatos esperados, evitando vazamento de dados não documentados.
Como funciona
- •Cole a sua especificação OpenAPI 3.x (em formato YAML ou JSON) no campo designado.
- •Insira o payload JSON real retornado pela sua API no campo de resposta.
- •Defina o caminho (path), o método HTTP e o código de status correspondentes à operação que deseja validar.
- •Ative a opção de proibir campos extras se desejar ser alertado sobre propriedades não documentadas, e a ferramenta gerará um relatório destacando qualquer divergência.
Casos de uso
Exemplos
1. Validação de endpoint de usuário
Desenvolvedor Frontend- Contexto
- O frontend começou a falhar ao renderizar o perfil do usuário porque o backend alterou o tipo de um campo silenciosamente.
- Problema
- Identificar rapidamente qual campo no JSON de resposta não está em conformidade com o contrato OpenAPI.
- Como usar
- Cole o YAML do OpenAPI e o JSON da resposta. Defina o caminho como `/users/{id}`, método como `GET` e status como `200`.
- Configuração de exemplo
-
{"path": "/users/42", "method": "get", "statusCode": "200", "disallowAdditionalProperties": true} - Resultado
- A ferramenta destaca que o campo `id` foi retornado como string em vez de integer, e que o campo obrigatório `name` está ausente.
2. Auditoria de campos não documentados
Engenheiro de QA- Contexto
- A equipe de segurança exige que a API não vaze informações internas não documentadas nos payloads de resposta.
- Problema
- Garantir que a resposta de listagem de produtos não contenha propriedades extras além das definidas no esquema público.
- Como usar
- Insira a especificação da API e a resposta real do endpoint de produtos. Marque a opção 'Proibir campos extras'.
- Configuração de exemplo
-
{"path": "/products", "method": "get", "statusCode": "200", "disallowAdditionalProperties": true} - Resultado
- O relatório aponta a presença de um campo `internal_cost` que não estava declarado no contrato OpenAPI, permitindo a correção antes do lançamento.
Testar com amostras
jsonHubs relacionados
FAQ
Quais versões do OpenAPI são suportadas?
A ferramenta suporta especificações no formato OpenAPI 3.x, podendo ser inseridas tanto em YAML quanto em JSON.
O que acontece se a minha resposta JSON tiver campos não documentados?
Por padrão, eles são ignorados. No entanto, se você marcar a opção 'Proibir campos extras', a ferramenta gerará avisos para qualquer campo que não esteja explicitamente declarado no esquema.
Como a ferramenta sabe qual esquema validar?
Ela utiliza o caminho (path), o método HTTP (como GET ou POST) e o código de status (ex: 200) que você fornece para localizar a resposta exata dentro da sua especificação OpenAPI.
Posso validar respostas de erros, como 400 ou 500?
Sim, basta inserir o código de status correspondente no campo 'Código de status' e garantir que essa resposta de erro esteja documentada na sua especificação OpenAPI.
Preciso formatar o JSON de resposta antes de colar?
Não é estritamente necessário formatar, desde que seja um JSON válido. A ferramenta fará a leitura e a validação estrutural automaticamente.