application programming interface
Főnév
application programming interface (tsz. application programming interfaces)
Az Application Programming Interface, azaz alkalmazásprogramozási interfész (API), olyan szabályok, protokollok és eszközök összessége, amely lehetővé teszi különböző szoftverek számára, hogy egymással kommunikáljanak. Az API olyan, mint egy közvetítő, amely lehetővé teszi, hogy egy program használja egy másik program vagy szolgáltatás funkcióit anélkül, hogy ismernie kellene annak belső működését.
Az API lényege
Gondoljunk az API-ra úgy, mint egy éttermi menüre. A menü megmondja, milyen ételek érhetők el, mit kérhetsz, de nem kell tudnod, hogyan főzi az ételt a szakács. Az API is ezt teszi a szoftverekkel: elmondja, milyen műveleteket lehet végrehajtani, milyen adatokat kell megadni, és milyen eredményt várhatsz vissza.
Az API fő típusai
- Belső (privát) API
- Csak a fejlesztő cég saját rendszerein belül használatos.
- Példa: egy vállalat belső CRM rendszere kommunikál a számlázási rendszerrel.
- Nyilvános (publikus) API
- Bárki számára elérhető, dokumentációval együtt.
- Példa: a Twitter API lehetővé teszi, hogy más alkalmazások tweeteljenek, olvassanak be posztokat.
- Partner API
- Csak meghatározott partnerek számára érhető el (pl. szerződéses alapon).
- Általában jobb támogatással, biztonsági garanciákkal jár.
- Komponens API
- Egy nagyobb rendszer belső részeit összekötő interfész.
- Példa: egy játékmotoron belül a fizikai motor kommunikál az animációs alrendszerrel.
Működési alapelv
Az API általában egy interfészként szolgál, amelyhez a fejlesztők programkódjukon keresztül kapcsolódhatnak. Ez az interfész meghatározza:
- a hívható függvények nevét,
- a szükséges paraméterek típusát és sorrendjét,
- a visszatérési értékeket.
Ez lehetővé teszi a modularitást, újrafelhasználhatóságot, és csökkenti az összetettséget a nagy rendszerek fejlesztése során.
API példák a gyakorlatban
- Időjárás-alkalmazás
- Egy mobil app nem maga méri az időt, hanem egy időjárás API-t használ, például az OpenWeatherMap API-ját.
- Kérés (HTTP GET):
api.openweathermap.org/data/2.5/weather?q=Budapest - Válasz: JSON objektum a hőmérséklettel, páratartalommal, stb.
- Fizetési rendszerek
- A Stripe vagy PayPal API segítségével egy webshop könnyedén integrálhat fizetési lehetőséget.
- Térképek
- A Google Maps API lehetővé teszi, hogy weboldaladba beágyazd a térképet, útvonalat tervezz, POI-kat jeleníts meg.
- Közösségi média integráció
- Facebook vagy Instagram API-jával hozzájuthatsz a felhasználó posztjaihoz, statisztikáihoz.
API hívás és válasz – HTTP alapú REST API példája
Kérés (Request)
GET /users/123 HTTP/1.1
Host: api.example.com
Authorization: Bearer token
Válasz (Response)
{
"id": 123,
"name": "Kiss József",
"email": "kiss.jozsef@example.com"
}
API típusok technikai szempontból
- REST (Representational State Transfer)
- HTTP protokollon alapul.
- Erőforrásokat URL-ek reprezentálnak, és a műveleteket a HTTP metódusok (GET, POST, PUT, DELETE) határozzák meg.
- Egyszerű, könnyen skálázható.
- SOAP (Simple Object Access Protocol)
- XML-alapú, formálisabb és szigorúbb szabványokat követ.
- Gyakran használt banki rendszerekben, ahol nagyobb biztonságra van szükség.
- GraphQL
- Lehetővé teszi, hogy a kliens pontosan megmondja, milyen adatokat szeretne.
- Egyetlen végpont, dinamikusan változtatható kérés szerkezettel.
- gRPC
- A Google fejlesztette ki.
- Protobuf-ot használ az adatok átvitelére.
- Nagyon gyors és hatékony bináris kommunikáció, főleg mikroszolgáltatásoknál.
Miért hasznos az API?
- Modularitás: Rendszer részeit külön-külön lehet fejleszteni és tesztelni.
- Újrafelhasználhatóság: Ugyanazt az API-t több rendszer is használhatja.
- Biztonság: A belső logika rejtve marad, csak a megengedett funkciókat lehet elérni.
- Gyorsabb fejlesztés: Nem kell mindent nulláról megírni, elég az API-t hívni.
Dokumentáció
Az API használatához elengedhetetlen a jó dokumentáció. Ez tartalmazza:
- Elérhető végpontokat (endpoints)
- Paraméterek leírását
- Válasz formátumokat
- Hibakódokat
- Példákat
Példa dokumentációs eszköz: Swagger / OpenAPI, amely automatikusan generálható is.
Hibakezelés
Egy jól megtervezett API világosan kommunikálja a hibákat. Például HTTP státuszkódokkal:
200 OK: sikeres válasz400 Bad Request: hibás kérés401 Unauthorized: nincs jogosultság404 Not Found: nem létező erőforrás500 Internal Server Error: szerverhiba
Ezek mellett a válasz JSON tartalmazhat hibakódokat, üzeneteket is.
Hitelesítés és jogosultság
API-k esetén gyakori a token alapú hitelesítés. Pl.:
- API kulcs (API key): egyszerű azonosító
- OAuth 2.0: modern, biztonságos szabvány
- JWT (JSON Web Token): aláírt token, amely információkat tartalmaz a felhasználóról
Fejlesztői szempontok
Jó API tervezés:
- Konzisztens elnevezések (pl.
GET /users,POST /orders) - Verziózás (pl.
v1/,v2/) - Szabványos visszatérési formátum (JSON/XML)
- Limitálás (rate limiting): védelmet nyújt a túlterhelés ellen
Összegzés
Az API kulcsszerepet játszik a modern szoftverfejlesztésben. Lehetővé teszi a különböző rendszerek és szolgáltatások összekapcsolását, hatékonyabbá, skálázhatóvá és biztonságossá teszi a fejlesztést. Legyen szó weboldalakról, mobilalkalmazásokról, vagy mikroszolgáltatás-architektúráról, az API-k teszik lehetővé az együttműködést – egy láthatatlan hídként szoftverek között.
- application programming interface - Szótár.net (en-hu)
- application programming interface - Sztaki (en-hu)
- application programming interface - Merriam–Webster
- application programming interface - Cambridge
- application programming interface - WordNet
- application programming interface - Яндекс (en-ru)
- application programming interface - Google (en-hu)
- application programming interface - Wikidata
- application programming interface - Wikipédia (angol)