Última atualização:
Stanislav Anisimov
Versioning API: `/v1/`, `Accept: version`, `GraphQL alias`
Click to expand / collapse

Quando a API se desenvolve, novos métodos, parâmetros e lógica surgem. Para não perturbar o funcionamento dos clientes atuais, a API é versionizada. Nós mantemos várias abordagens de versioning, permitindo que os integradores utilizem a versão da interface desejada, sem risco de operação estável.

Isso é importante tanto para o escalonamento da plataforma quanto para a implementação de atualizações, testes ou manutenção de clientes antigos.


Métodos de versionização

MétodoDescrição e benefícios
Versão em URL ('/v1/')O método mais compreensível e popular - conveniente para a API de REST
Cabeçalho do AceittExemplo: 'Accept: aplicação/vnd. api+json; versão = 2 '- separa os dados da versão
GraphQL alias / versioned fieldsVersões diferentes através de «userV1», «userV2» - conveniente para migração gradual
Versões ao nível do esquemaEsquemas individuais e módulos em OpenAPI/Swagger para cada versão

Como implementado

Estrutura da API com '/v1/', '/v2/' e rotas independentes

Verificação de cabeçalhos de 'Aceitt' e' X-API-Versão '

suporta alias e circuitos versionados (' ', ' ')

Capacidade A/B de testar novas versões sem risco para a produção

Logar os acessos de cada versão para análise e migração


Vantagens para empresas e integradores

Suporte a clientes antigos sem desaceleração

Trabalho paralelo de várias gerações de API

Implantação segura de novas funções sem quebra de compatibilidade

Flexibilidade para escalar e atualizar a infraestrutura

Migração transparente entre versões de controle e análise


Onde é particularmente importante

Plataformas com muitos clientes externos

Projetos com abordagem API-first e ciclo de vida longo

Integração com bancos, provedores, parceiros B2B

Sistemas com clientes móveis de longa duração ou IoT


A versionização da API é a base da confiabilidade e flexibilidade das integrações. Independentemente do formato (REST, GraphQL ou gRPC), fornecemos o desenvolvimento seguro de interfaces - sem falhas, conflitos ou perda de compatibilidade.

Temas populares


Temas principais