Histórico da Página
...
O nome do arquivo OpenAPI deve trazer a mesma versão contida na "info" deste mesmo arquivo. Para corrigir esse erro, faça o ajuste da versão, garantindo a consistência entre o nome do arquivo e as informações contidas na "info".
should be backward compatible with minor versions
Esse arquivo OpenAPI é referente a uma nova versão minor, porém o mesmo está apresentando "breaking changes" em relação à versão minor anterior.
Mudanças permitidas:
→ Novos Endpoints
→ Novas Propriedades no Schema (Desde que a API continue funcionando apenas com as que existiam anteriormente).
Mudanças que exigem uma nova versão major:
→ Endpoints removidos ou com assinatura alterada
→ Parâmetros obrigatórios adicionados
→ Parâmetros removidos ou renomeados
→ Propriedades do schema removidas ou renomeadas
Informações |
---|
De acordo com o versionamento semântico, somente trabalhamos com versões minor enquanto não existe quebra de contrato. Quando a quebra de contrato se faz necessária, é preciso subir uma versão major. |
Quando esse erro acontece, ele apresenta um sumário completo da comparação entre as duas APIs, para ficar claro o que está ok e o que está causando essa quebra
Veja o exemplo abaixo:
Bloco de código |
---|
==========================================================================
== API CHANGE LOG ==
==========================================================================
Filial
--------------------------------------------------------------------------
-- What's Changed --
--------------------------------------------------------------------------
- GET /Branches
Return Type:
- Changed 200 OK
Media types:
- Changed application/json
BackwardCompatible: Broken compatibility
isBackwardCompatible: false
- changed:
property: items
isBackwardCompatible: false
type: array
isChangeRequired: false
properties:
isBackwardCompatible: false
- add: propriedade2_6
- delete: propriedade2_3
|
A partir desse relatório, entendemos que em GET /Branches, existiu quebra de compatibilidade no retorno 200 OK.
Isso ocorreu porque a propriedade chamada "propriedade2_3" foi deletada do schema.
Atenção para o valor de "isBackwardCompatible". Sempre que for "false", aponta aonde ocorreu a quebra de contrato, enquanto, se possuir valor "true", representa uma mudança aceitável, sem comprometer a compatibilidade com a versão minor anterior.
should have anything different from the previous minor version, beside x-totvs
Esse arquivo OpenAPI é referente a uma nova versão minor, porém não existiu nenhuma diferença entre esta e a versão anterior.
Qual a intenção dessa nova versão?
Informações |
---|
Apenas mudar informações nas propriedades "x-totvs" não exige subir versão. Estas são apenas para documentação, não oferecem mudança de fato na API. |
Endpoints:
shouldn't contain 'post', 'put', 'get' or 'delete' in the URL
...