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