Kontentke ótiw

OpenAPI specifikaciyası

Wikipedia — erkin enciklopediya

OpenAPI Specifikaciyası, burın Swagger Specifikaciyası dep atalǵan, veb-xızmetlerdi súwretlew, islep shıǵıw, paydalanıw hám vizuallastırıw ushın mashina oqıy alatuǵın interfeys anıqlaw tiliniń specifikaciyası bolıp tabıladı[1]. Dáslep Swagger freymvorkin qollaw ushın islep shıǵılǵan, ol 2015-jılı Linux Foundation-nıń ashıq kodlı birge islesiw joybarı OpenAPI Initiative tárepinen baqlanatuǵın ayrıqsha joybarǵa aylandı[2][3].

OpenAPI sıpatlaması (OAD)[4] qurallarǵa kod, dokumentaciya, test jaǵdayların hám basqalardı jaratıw ushın paydalanıwǵa bolatuǵın API-dıń formal táriyipin kórsetedi.

Tariyxı

Linux Foundation astında OpenAPI specifikaciyasın islep shıǵaratuǵın shólkem OpenAPI Initiative-tiń logotipi.

Swagger-di islep shıǵıw 2010-jıldıń basında onlayn sózlik kompaniyası Wordnik-te islegen Toni Tam tárepinen baslandı[5].

2015-jıldıń martında SmartBear Software Reverb Technologies-ten, Wordnik-tiń bas kompaniyasınan ashıq kodlı Swagger API specifikaciyasın satıp aldı[6].

2015-jıldıń noyabr ayında SmartBear Swagger specifikaciyasın Linux Foundation-nıń qáwenderligi astında OpenAPI Initiative dep atalatuǵın jańa shólkemge tapsırıp atırǵanın járiyaladı. Basqa dúziwshi kompaniyalar qatarında 3scale, Apigee, Capital One, Google, IBM, Intuit, Microsoft, PayPal hám Restlet bar edi[7][8].

2016-jıldıń 1-yanvarında Swagger specifikaciyası OpenAPI Specification (OAS) dep ózgertildi hám jańa GitHub repozitoriyine kóshirildi[9].

2017-jıldıń iyul ayında OpenAPI Initiative óz specifikaciyasınıń 3.0.0 versiyasın shıǵardı[10].

2021-jıldıń fevral ayında OpenAPI Initiative 3.1.0 versiyasın shıǵardı[11]. OpenAPI Specification 3.1.0-degi tiykarǵı ózgerisler qatarında JSON sxemasınıń sózliklerin bir qatarǵa keltiriw, diapazonnan tısqarı dizimge alınatuǵın hám basqarılatuǵın vebxuklardı súwretlew ushın jańa joqarı dárejeli elementler, standart SPDX identifikatorı arqalı API licenziyaların anıqlawdı qollap-quwatlaw, sxemaǵa sіltemelerdi paydalanıw menen birge súwretlewlerge ruqsat beriw hám qayta paydalanıwǵa bolatuǵın komponentler kitapxanaların jaratıwdı ápiwayılastırıw ushın PathItems obektin májbúriy emes etiw ózgerisi bar[12][13][14].

Formatlardı birlestiriw

Bir-birine uqsas eki texnologiya, MuleSoft-tıń RESTful API Modeling Language (RAML) hám Apiary-nıń API Blueprint, burın Swagger specifikaciyası dep atalǵan texnologiya menen bir waqıtta islep shıǵarılǵan edi.

Eki formattıń da islep shıǵarıwshıları keyin OpenAPI Initiative-ge qosıldı: Apiary 2016-jılı hám MuleSoft 2017-jılı. Ekewi de OAS-nı qollap-quwatlawdı qostı[15][16].

Paydalanıw

OAS túrli qosımshalar, kitapxanalar hám qurallar paydalanıwı múmkin bolǵan OpenAPI Description (OAD) formatın súwretleydi.

Qosımshalar usıllar, parametrler hám maǵlıwmat modelleriniń dokumentaciyasın avtomat túrde payda etiw ushın OADlerdi paydalanıwı múmkin. Bul dokumentaciyanı, klient kitapxanaların hám derek kodtı sinxron túrde saqlawǵa járdem beredi[17].

Serverler ushın derek kod túbirlerin payda etiw ushın OAD paydalanılǵanda, process skaffolding dep ataladı.

Programmalıq injiniring ámeliyatı menen baylanısı

Derek kodtı jazıwdan aldın interfeys anıqlanǵannan keyin biznes logikasın programmalastırıw paradigması, programmanı derek kodtı jazıwdan keyin onıń minez-qulqın retrospektiv súwretlewge qarama-qarsı bolǵan jaǵdayda, kontrakt-birinshi islep shıǵarıw dep ataladı. Interfeys kod jazılmay turıp anıqlanǵanlıqtan, tómengi aǵımdaǵı baǵdarlamashılar server minez-qulqın maketlep, testlewdi operativ baslawı múmkin. Bul mániste kontrakt-birinshi islep shıǵarıw da solǵa jıljıtılǵan testlew ámeliyatı bolıp tabıladı.

Imkaniyatları

OpenAPI specifikaciyası tilge baylanıslı emes. OpenAPI-diń deklarativ resurs specifikaciyası menen klientler serverdiń ámelge asırılıwın bilmesten yamasa server kodına kiriwge iye bolmastan xızmetlerdi túsiniwi hám paydalanıwı múmkin.

OpenAPI menen isleytuǵın qurallar

OpenAPI Initiative specifikaciyanıń 3.0 versiyası ushın ámelge asırıwlar dizimin júrgizedi.

Jıllıq konferenciya

OpenAPI Initiative hár jılǵı API specifikaciyaları konferenciyasına (ASC) qáwenderlik etedi. Bul ilaj kóp jıllar dawamında islegen hám 2016-jılı OpenAPI Initiative-niń bir bólegine aylanǵan API strategiyası hám ámeliyatı konferenciyasınan (APIStrat) kelip shıqqan.

Derekler

  1. «OpenAPI Documentation: Getting Started». Learn OpenAPI. The OpenAPI Initiative. Qaraldı: 2024-jıl 17-sentyabr.
  2. «New Collaborative Project to Extend Swagger Specification for Building Connected Applications and Services». 2023-jıl 31-oktyabr sánesinde túp nusqadan arxivlendi.
  3. «OpenAPI Initiative Charter». OpenAPI Initiative. Qaraldı: 2019-jıl 12-noyabr.
  4. «OpenAPI Documentation: Glossary». Learn OpenAPI. The OpenAPI Initiative (2023). Qaraldı: 2024-jıl 17-sentyabr.
  5. «Swagger creator joins SmartBear» (2015-jıl 28-sentyabr). Qaraldı: 2019-jıl 6-avgust.
  6. «SmartBear Assumes Sponsorship of Swagger API Open Source Project». SmartBear. Qaraldı: 2015-jıl 25-mart.
  7. «FAQ». OpenAPI Initiative. Qaraldı: 2019-jıl 12-noyabr.
  8. «New Collaborative Project to Extend Swagger Specification for Building Connected Applications and Services». linuxfoundation.org. 2016-jıl 27-aprel sánesinde túp nusqadan arxivlendi. Qaraldı: 2016-jıl 22-aprel.
  9. OpenAPI Initiative. «OpenAPI Specification». GitHub. Qaraldı: 2019-jıl 12-noyabr.
  10. «The OAI Announces the OpenAPI Specification 3.0.0». OpenAPIs (2017-jıl 26-iyul). Qaraldı: 2018-jıl 19-aprel.
  11. «OpenAPI Specification 3.1.0 Available Now». Linux.com (2021-jıl 26-aprel). Qaraldı: 2021-jıl 26-aprel.
  12. Charboneau. «What's New in OpenAPI 3.1.0?». Nordic APIs (2021-jıl 7-aprel). Qaraldı: 2021-jıl 7-aprel.
  13. «OpenAPI Specification 3.1.0 Released». OpenAPI Initiative (2021-jıl 18-fevral). Qaraldı: 2021-jıl 18-fevral.
  14. Sturgeon. «Migrating from OpenAPI 3.0 to 3.1.0». OpenAPI Initiative (2021-jıl 16-fevral). Qaraldı: 2021-jıl 16-fevral.
  15. Nesetril. «We've got Swagger». Oracle Apiary (2016-jıl 18-yanvar). Qaraldı: 2024-jıl 13-oktyabr.
  16. Avram. «The HTTP API space is Consolidating around OAS». InfoQ (2017-jıl 6-may). Qaraldı: 2017-jıl 14-may.
  17. «OpenAPI Documentation: Introduction». Learn OpenAPI. The OpenAPI Initiative (2023). Qaraldı: 2024-jıl 17-sentyabr.