Az OpenAPI Specification ( angolul - „OpenAPI specifikáció”; eredeti nevén Swagger Specification [1] ) egy formalizált specifikáció és számos eszköz ökoszisztémája, amely interfészt biztosít a front-end rendszerek, az alacsony szintű könyvtári kód és a kereskedelmi megoldások között. az API formája . A specifikáció ugyanakkor úgy van felépítve, hogy ne függjön a programozási nyelvektől, ember és gép által egyaránt kényelmesen használható [2] .
A cél szempontjából az OpenAPI-t egy univerzális interfésznek tekintik a felhasználók (kliensek) számára a szolgáltatásokkal (kiszolgálókkal) való interakcióhoz. Ha egy specifikációt egy bizonyos szolgáltatáshoz terveztek, akkor az alapján lehetséges forráskód generálása ügyfélalkalmazás-könyvtárak számára, szöveges dokumentáció a felhasználók számára, tesztopciók stb. és platformok [3] [2] .
Kezdetben a Swagger Specification nevű specifikáció fejlesztését 2010 óta a SmartBear végzi . 2015 novemberében a SmartBear bejelentette, hogy egy új szervezeten, az Open API Initiative-n dolgozik, amelyet a Linux Foundation támogat . 2016. január 1-jén a specifikáció az OpenAPI-specifikáció nevet kapta, és az Open API Initiative részeként fejlesztik.
Az OpenAPI egy formalizált specifikáció és teljes keretrendszer a REST webszolgáltatások leírásához, létrehozásához, használatához és megjelenítéséhez . A cél az, hogy az ügyfélrendszerek és a dokumentáció szinkronizálhassák frissítéseiket a kiszolgálón történt változásokkal. Ezt úgy érik el, hogy a metódusokat, paramétereket, modelleket és egyéb elemeket OpenAPI-n keresztül integrálják a szerverszoftverbe, és folyamatosan szinkronizálják vele [4] .
A specifikáció megjelenése és a keretrendszeren való munka megkezdése a Wordnik cég kezdeményezésének köszönhető , amelynek belső igényeire a Swaggert a SmartBear fejlesztette ki. A projekt 2010 elején indult [4] . 2015 márciusában a SmartBear megvásárolta az OpenAPI specifikációt a Reverb technológiáktól, és fejlesztését nyílt forráskódra helyezte át [5] .
2015 novemberében a SmartBear, mint a Swagger támogató vállalata bejelentette, hogy a Linux Foundation támogatásával segít egy új Open API Initiative létrehozásában. Számos vállalat lett tagja ennek a szervezetnek, köztük a Google , az IBM , a Microsoft és mások [6] [7] A SmartBear ennek az új csoportnak adományozta a Swagger specifikációt [8] .
További hasonló megoldásokat kínáló technológiák, mint például az OpenAPI, a RAML és a Blueprint API [9] .
2016-ban a Swagger API-díjat kapott az API Infrastruktúra kategóriában [10] .
A specifikáció független a programozási nyelvtől, és a HTTP protokollon kívül is használható . Az OpenAPI egyszerre kerül alkalmazásra a kliensre, a szerverre és a REST [4] szerint létrehozott interfész megfelelő dokumentációjára .
A specifikáció deklaratív, ezért a kliensek használhatják anélkül, hogy ismernék a szerver megvalósításának sajátosságait. Ugyanakkor mind a fejlesztők, mind a hétköznapi felhasználók dolgozhatnak az OpenAPI-val a kész eszközökön és a rendelkezésre álló felületeken keresztül. Formátumként XML és JSON használatos , de általában másik jelölőnyelv [4] is választható (például YAML[ a tény jelentősége? ] ).