Fatos principais
- Categoria
- Desenvolvimento e Web
- Tipos de entrada
- textarea
- Tipo de saída
- html
- Cobertura de amostras
- 4
- API disponível
- Yes
Visão geral
O Detector de Breaking Changes de API é uma ferramenta essencial para desenvolvedores e arquitetos de software que precisam comparar duas versões de um schema OpenAPI 3.x. Ele analisa o schema antigo e o novo para identificar alterações incompatíveis, como remoção de campos, mudanças de tipos de dados ou novas propriedades obrigatórias, gerando um relatório detalhado com estratégias de migração para evitar quebras de integração nos clientes atuais.
Quando usar
- •Antes de lançar uma nova versão da API em produção para garantir que clientes existentes não sejam afetados.
- •Durante a revisão de pull requests (PRs) que alteram os contratos da API para validar o impacto das mudanças.
- •Ao planejar a depreciação de endpoints ou campos antigos, buscando estratégias de migração seguras.
Como funciona
- •Cole o schema OpenAPI 3.x da versão atual (antiga) no campo 'Schema OpenAPI antigo'.
- •Insira o schema OpenAPI 3.x da nova versão proposta no campo 'Schema OpenAPI novo'.
- •A ferramenta processa e compara ambos os contratos, detectando alterações estruturais e de validação.
- •Um relatório em HTML é gerado, destacando as quebras de compatibilidade (breaking changes) e sugerindo ações de mitigação.
Casos de uso
Exemplos
1. Identificando novos campos obrigatórios
Desenvolvedor Backend- Contexto
- A equipe adicionou um novo sistema de permissões e atualizou o contrato da API de criação de usuários.
- Problema
- Garantir que a adição do campo 'role' não quebre os clientes que já utilizam o endpoint de criação.
- Como usar
- Cole o schema antigo sem o campo 'role' e o novo schema onde 'role' é obrigatório nos respectivos campos de texto.
- Resultado
- A ferramenta alerta que tornar o campo 'role' obrigatório no requestBody é um breaking change e sugere torná-lo opcional com um valor padrão na versão atual.
2. Detectando remoção de campos na resposta
Arquiteto de Soluções- Contexto
- Um endpoint de listagem de usuários foi refatorado para melhorar a performance, removendo dados redundantes.
- Problema
- Verificar se algum campo utilizado pelos clientes atuais foi removido inadvertidamente da resposta (response).
- Como usar
- Insira o schema original no campo 'Schema OpenAPI antigo' e o schema refatorado no campo 'Schema OpenAPI novo' para iniciar a comparação.
- Resultado
- O relatório HTML destaca a remoção do campo 'name' da resposta 200, classificando-o como alto impacto e sugerindo a manutenção do campo como 'deprecated' antes da remoção definitiva.
Testar com amostras
developmentFAQ
Quais versões do OpenAPI são suportadas?
A ferramenta suporta a comparação de schemas no formato OpenAPI 3.x.
O que é considerado um breaking change?
Alterações que quebram a integração do cliente, como remover um endpoint, excluir um campo de resposta, alterar o tipo de um dado ou tornar um campo de requisição obrigatório.
A ferramenta corrige os schemas automaticamente?
Não, ela atua como um analisador estático. O resultado aponta os problemas e sugere estratégias de migração, mas a correção deve ser feita manualmente no seu código.
Posso comparar contratos em JSON e YAML?
Sim, você pode colar o conteúdo do seu schema em formato YAML ou JSON diretamente nos campos de texto.
Os meus schemas de API são armazenados no servidor?
O processamento ocorre com os dados fornecidos na interface, sem armazenamento persistente dos seus contratos de API.