Ultima actualizare:
Stanislav Anisimov
Versioning API: '/v1/', 'Accept: version', 'GraphQL alias'
Click to expand / collapse

Pe măsură ce API-ul evoluează, apar noi metode, parametri și logică. Pentru a nu perturba activitatea clienților actuali, se utilizează versionarea API. Suportăm mai multe abordări ale versionării, permițând integratorilor să utilizeze versiunea dorită a interfeței fără riscuri pentru o funcționare stabilă.

Acest lucru este important atât la scalarea platformei, cât și la implementarea actualizărilor, testarea sau deservirea clienților vechi.


Metode de versionare

MetodăDescriere și beneficii
Versiune în URL ('/v1/')Cel mai ușor de înțeles și popular mod este convenabil pentru API RESTUL
Acceptă antetulExemplu: 'Accept: application/vnd. api + json; versiunea = 2 '- separă datele de versiune
Câmpuri alias/versioned GraphQLVersiuni diferite prin pseudonime: 'userV1', 'userV2' - convenabil pentru migrarea treptată
Versiuni la nivel de schemăDiagrame și module separate în OpenAPI/Swagger pentru fiecare versiune

Cum a fost implementat

Structura API cu „/v1/”, „/v2/” și rute independente

Verificarea anteturilor 'Accept' și 'X-API-Version'

GraphQL acceptă pseudonime și scheme versionate ('userV1', 'userV2')

Capacitatea de a testa A/B versiuni noi, fără riscuri pentru producție

Logarea apelurilor la fiecare versiune pentru analiză și migrare


Beneficii Business și Integrator

Sprijiniți clienții vechi fără încetinirea

Multi-generație API Funcționare paralelă

Implementați în siguranță noi caracteristici fără a rupe compatibilitatea inversă

Flexibilitate pentru scalarea și modernizarea infrastructurii

Migrarea fără probleme între versiunile controlate și analitice


În cazul în care deosebit de important

Platforme cu mai multi clienti externi

Proiecte cu prima abordare API și ciclu de viață lung

Integrarea cu băncile, furnizorii, partenerii B2B

Sisteme cu clienti mobili sau IoT de lunga durata


Versionarea API este baza fiabilității și flexibilității în integrare. Indiferent de format (REST, GraphQL sau gRPC), asigurăm dezvoltarea în siguranță a interfețelor - fără eșecuri, conflicte și pierderea compatibilității.

Subiecte populare


Subiecte principale