Mi az az API és hogyan kell használni?
Az API-k olyan közvetítő algoritmusok, melyek két applikáció között helyezkednek el, mint egy híd, és lehetővé teszik a kettő között a kommunikációt előre meghatározott szabályok alapján. A gyakorlatban az API-k nagyrészt kliensoldalú applikációk számára teszik lehetővé, hogy egy egyébként védett adatbázishoz hozzáférjenek.
Az API-k tehát kommunikációs csatornaként funkcionálnak két különböző alkalmazás között. Erre azért van szükség, mert az alkalmazások nem látják egymás kódját, így közvetítő közegre van szükség az információcseréhez. Az API határozza meg, hogy
az infó hogyan kerül cserére a két applikáció között. Szinte minden applikáció a számítógépen használ valamilyen API-t, hogy más dolgokkal kommunikáljon. Az internet világában mindig szükség van web alapú API-kra, melyek a szerver és a kliens vagy egy szerver és egy backend (háttér) szolgáltatás közti kommunikációt teszik lehetővé. Az API-k ilyenkor access point-ként üzemelnek.
Tegyük fel, hogy van egy alkalmazásunk, ami effektíve egy kliens oldali applikáció, és szeretne kommunikálni egy szerver adatbázisával. A kliens alkalmazásnak nyilván nem lehet teljes hozzáférést adni az adatbázishoz biztonsági okokból, ráadásul a kliens-szerver modell is felborulna ebben az esetben. A kliensnek ugyanis nem kéne azzal foglalkoznia, hogy közvetlenül az adatbázissal kommunikáljon. Egyedül a szerverrel kell csak, majd a szerver elvégzi a munka oroszlánrészét. Megkeresi az adatokat és prezentálja azokat. Nem a kliensnek kell turkálnia az adatbázisban. Ehelyett tehát egy API a kliens nevében képes kommunikálni az adatbázissal.
A kliens küld egy kérvényt az API-nak, http-n keresztül általában GET és POST kérvényekkel. Ha a kliens egy specifikus lekérdezéssel szeretné az adatbázist megvizsgálni, akkor az API megkéri az adatbázist, hogy hajtsa azt végre, majd visszaadja az eredményt. Az API általában JSON-al kommunikál, mely aztán előre definiált formátumban adja vissza az adatokat. Kinézhet például így:
{
„name”: „MyAPI”,
„search_results”: […]
}
Az API használata szerencsére szinte teljes mértékben sztenderdizálva lett. Szinte mindig http-n keresztül hozzáférhetők és JSON adatokat adnak vissza. Ez azt jelenti, hogy bármely programozói nyelv, mely tud http kérvényeket intézni és JSON adatokat dekódolni, az tud API-val kommunikálni. Az API nagy előnye, hogy a kinyert adatok mindig hasonló formátumban érkeznek, így jól kezelhetők és feldolgozhatók. Nehéz lenne nélkülük az élet!