Ugrás a tartalomhoz

application programming interface

A Wikiszótárból, a nyitott szótárból


Főnév

application programming interface (tsz. application programming interfaces)

  1. (informatika) alkalmazásprogramozási felület

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

  1. 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.
  2. 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.
  3. 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.
  4. 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

  1. 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.
  2. Fizetési rendszerek
    • A Stripe vagy PayPal API segítségével egy webshop könnyedén integrálhat fizetési lehetőséget.
  3. 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.
  4. 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

  1. 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ó.
  2. 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.
  3. GraphQL
    • Lehetővé teszi, hogy a kliens pontosan megmondja, milyen adatokat szeretne.
    • Egyetlen végpont, dinamikusan változtatható kérés szerkezettel.
  4. 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álasz
  • 400 Bad Request: hibás kérés
  • 401 Unauthorized: nincs jogosultság
  • 404 Not Found: nem létező erőforrás
  • 500 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.