Validador de contrato de resposta API

Valida um JSON de resposta real contra o schema declarado em uma especificacao OpenAPI 3.x

Cole um documento OpenAPI 3.x e uma resposta real da API, depois informe path, method e status code. A ferramenta resolve o schema de resposta correspondente e destaca campos ausentes, erros de tipo, enums invalidos e campos nao documentados.

Como usar:

  • Spec OpenAPI: cole YAML ou JSON
  • JSON de resposta: cole a carga real
  • Caminho / Metodo / Codigo de status: identifique a operacao e a resposta
  • Formato do spec: deixe auto se nao tiver certeza
  • Proibir campos extras: gera avisos para campos fora do schema

Exemplos de resultados

1 Exemplos

Verificar se a resposta real ainda segue o schema de usuario

Valida uma resposta JSON real contra OpenAPI e detecta campos faltantes ou tipos incorretos.

Contract validation issues
Ver parâmetros de entrada
{ "openApiSpec": "openapi: 3.0.3\npaths:\n /users/{id}:\n get:\n responses:\n \"200\":\n description: ok\n content:\n application/json:\n schema:\n type: object\n required: [id, name]\n properties:\n id: { type: integer }\n name: { type: string }\n active: { type: boolean }", "responseJson": "{\"id\":\"1\",\"active\":\"yes\"}", "path": "/users/42", "method": "get", "statusCode": "200", "specFormat": "yaml", "disallowAdditionalProperties": true }

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

Validação de regressão para garantir que novas implantações no backend não alterem a estrutura de resposta esperada pelos clientes.
Revisão de documentação de API, garantindo que o arquivo OpenAPI esteja sempre atualizado e reflita o comportamento real do servidor.
Depuração de erros de integração no frontend causados por mudanças silenciosas nos tipos de dados ou campos ausentes no payload.

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

json

Hubs 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.

Documentação da API

Ponto final da solicitação

POST /pt/api/tools/api-response-contract-validator

Parâmetros da solicitação

Nome do parâmetro Tipo Requerido Descrição
openApiSpec textarea Sim -
responseJson textarea Sim -
path text Sim -
method select Não -
statusCode text Sim -
specFormat select Não -
disallowAdditionalProperties checkbox Não -

Formato de resposta

{
  "result": "
Processed HTML content
", "error": "Error message (optional)", "message": "Notification message (optional)", "metadata": { "key": "value" } }
HTML: HTML

Documentação de MCP

Adicione este ferramenta à sua configuração de servidor MCP:

{
  "mcpServers": {
    "elysiatools-api-response-contract-validator": {
      "name": "api-response-contract-validator",
      "description": "Valida um JSON de resposta real contra o schema declarado em uma especificacao OpenAPI 3.x",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=api-response-contract-validator",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

Você pode encadear várias ferramentas, ex: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, máx 20 ferramentas.

Se você encontrar algum problema, por favor, entre em contato conosco em [email protected]