Atunci când API-ul evoluează activ, este important să se mențină compatibilitatea între versiuni și să se evite situațiile în care o singură schimbare rupe zeci de integrări ale clienților. Implementăm o versiune completă a contractelor care vă permite să controlați modificările și să actualizați fără riscuri API-urile pentru utilizatori.
Acest lucru este esențial în arhitectura microservice, integrările B2B și produsele API deschise în care diferiți clienți folosesc diferite versiuni de interfețe.
Ce Suntem Versioning
| Obiect | Descriere |
|---|---|
| Specificații OpenAPI | Păstrați fiecare versiune de documentație și contract |
| Endpoint'ы | Adăugați versiuni la URL ('/v1/', '/v2/'), salvați compatibilitatea înapoi |
| Contracte (Pact, Dredd) | Stabilirea condițiilor de interacțiune dintre client și server |
| Modele de date | Monitorizarea modificărilor în structura cererii și a răspunsului |
Cum implementăm
Suport pentru mai multe versiuni API în paralel
Versiuni explicite în URL-uri, antete sau parametri
Autotestarea fiecărei versiuni de contract (Pact, Postman, Jest, Dredd)
Specificații de versioning în Git sau prin CI/CD
Documentație și changelog pentru clienți pe fiecare schimbare
Avantaje
Stabilitatea garantată a integrărilor
Capacitatea de a elibera noi caracteristici fără riscul de a „rupe” clienții
Simplificarea migrării între versiuni
Istoricul schimbărilor clare și controlul contractelor
Transparență pentru echipele de dezvoltare externă și internă
În cazul în care deosebit de important
Arhitectură microservice multi-dependentă
Platforme API publice sau B2B
Sisteme financiare și de plăți cu contracte pe termen lung
Aplicații mobile care depind de un API stabil
Versionarea contractului este baza predictibilității și încrederii în API-uri. Implementăm procese care vă permit să schimbați și să dezvoltați API-uri fără durere, menținând în același timp compatibilitatea și transparența pentru toate părțile.