Son yenilənmə:
Stanislav Anisimov
Versioning API: `/v1/`, `Accept: version`, `GraphQL alias`
Click to expand / collapse

API inkişaf etdikdə yeni metodlar, parametrlər və məntiq yaranır. Cari müştərilərin işini pozmamaq üçün API versiyası tətbiq olunur. Biz bir neçə versioning yanaşmalarını dəstəkləyirik, inteqratorlara sabit işləmək üçün risk olmadan interfeysin lazımi versiyasını istifadə etməyə imkan verir.

Bu həm platformanın miqyasını artırarkən, həm də yeniləmələri tətbiq edərkən, sınaqdan keçirərkən və ya köhnə müştərilərə xidmət edərkən vacibdir.


Version üsulları

MetodTəsviri və faydaları
URL versiyası ('/v1/')Ən başa düşülən və populyar üsul - REST API üçün əlverişlidir
Accept başlığıNümunə: 'Accept: application/vnd. api+json; version = 2 '- verilənləri versiyadan ayırır
GraphQL alias / versioned fieldsAlias vasitəsilə müxtəlif versiyalar: 'userV1', 'userV2' - tədricən miqrasiya üçün əlverişlidir
Sxem səviyyəsində versiyalarHər bir versiya üçün OpenAPI/Swagger-də ayrı-ayrı sxemlər və modullar

Necə həyata keçirilmişdir

API strukturu '/v1/', '/v2/' və müstəqil marşrutlarla

'Accept' və 'X-API-Version' başlıqlarının yoxlanılması

GraphQL alias və versiyalı sxemləri dəstəkləyir ('userV1', 'userV2')

A/B istehsal üçün risk olmadan yeni versiyaları test etmək imkanı

Analiz və miqrasiya üçün hər bir versiyaya müraciətlərin loqosu


Biznes və inteqratorlar üçün üstünlüklər

Yavaşlamadan köhnə müştərilərə dəstək

Bir neçə nəsil API paralel iş

Geri uyğunluğu pozmadan yeni funksiyaların təhlükəsiz tətbiqi

Infrastrukturun genişləndirilməsi və yenilənməsində çeviklik

Nəzarət və analitika ilə versiyalar arasında şəffaf miqrasiya


Harada xüsusilə vacibdir

Bir çox xarici müştəriləri olan platformalar

API-first yanaşma və uzun həyat dövrü ilə layihələr

Banklar, provayderlər, B2B tərəfdaşları ilə inteqrasiya

Uzun ömürlü mobil və ya IoT müştəriləri olan sistemlər


API versiyası inteqrasiyanın etibarlılığı və çevikliyinin əsasını təşkil edir. Formatdan (REST, GraphQL və ya gRPC) asılı olmayaraq, biz təhlükəsiz interfeys inkişafını təmin edirik - heç bir nasazlıq, münaqişə və uyğunluq itkisi olmadan.

Populyar mövzular


Əsas mövzular