Versioning API: `/v1/`, `Accept: version`, `GraphQL alias`

Երբ API-ն զարգանում է, հայտնվում են նոր մեթոդներ, պարամետրեր և տրամաբանություն։ Որպեսզի չփորձենք ներկայիս հաճախորդների աշխատանքը, օգտագործվում է API-ի տարբերակումը։ Մենք աջակցում ենք versioning-ի մի քանի մոտեցումներ 'թույլ տալով ինտեգրատորներին օգտագործել ինտերֆեյսի ճիշտ տարբերակը առանց ռիսկի կայուն աշխատանքի համար։

Սա կարևոր է ինչպես պլատֆորմի մեծացման, այնպես էլ հին հաճախորդների փորձարկման, փորձարկման կամ սպասարկման ժամանակ։


Տարբերակման մեթոդներ

ՄեթոդըՆկարագրություն և առավելություններ
URL տարբերակը ('/v1/')Առավել հասկանալի և հայտնի մեթոդը հարմար է REST API-ի համար
Accept վերնագիրըՕրինակ ՝ "Accept: Accept: Apport/vnd. api+json; version = 2 '- առանձնացնում է տվյալները տարբերակից
GraphQL alias / versioned fieldsՏարբեր տարբերակներ ալիասների միջոցով '«userV1», «userV2», հարմար է աստիճանական ինտեգրման համար։
Տարբերակները սխեմայի մակարդակումԱռանձին սխեմաներ և մոդուլներ OpenAPI/Swagger յուրաքանչյուր տարբերակի համար

Ինչպե՞ ս է իրականացվել

API կառուցվածքը '/v1/", "/v2/" և անկախ ուղղություններով

«Accept» և «X-API-Version» վերնագրերի ստուգումը
  • GraphQL-ն աջակցում է ալիասները և տարբերակված սխեմաները («userV1», «userV2»)
  • A/B հնարավորություն փորձարկելու նոր տարբերակներ առանց ռիսկի վաճառելու
  • Դիմումների տրամաբանությունը յուրաքանչյուր տարբերակին վերլուծելու և վերլուծելու համար

Առավելություններ բիզնեսի և ինտեգրատորների համար

Հին հաճախորդների աջակցությունը առանց զարգացման դանդաղեցման
  • Զուգահեռ աշխատանք մի քանի սերունդների API
  • Նոր գործառույթների անվտանգ ներդրումը առանց հետադարձ կապի կոտրելու
  • Ճկունություն ենթակառուցվածքի մեծացման և նորացման ժամանակ
  • Թափանցիկ միգրացիա տարբերակների միջև վերահսկողության և վերլուծության միջև

Որտեղ հատկապես կարևոր է

Պլատֆորմներ բազմաթիվ արտաքին հաճախորդների հետ
  • API-first նախագծերը մոտեցում և երկար կյանքի ցիկլ
  • Համագործակցություն բանկերի, պրովայդերների, B2B գործընկերների հետ
  • Երկար շարժական կամ IoT հաճախորդների հետ

API-ի տարբերակումը ինտեգրման հուսալիության և ճկունության հիմքն է։ Անկախ ձևաչափից (REST, GraphQL կամ gRPC), մենք ապահովում ենք ինտերֆեյսների անվտանգ զարգացումը 'առանց ձախողումների, հակամարտությունների և կորուստների։

Կապ հաստատել մեզ հետ

Լրացրեք ստորև ներկայացված ձևը, և մենք հնարավորինս արագ կպատասխանենք ձեզ։

Էլեկտրոնային հասցե՝

info@jackcode.io

support@jackcode.io