API (zkratka z anglického Application Programming Interface) představuje soubor definovaných pravidel, protokolů a nástrojů, které umožňují vzájemnou komunikaci a výměnu dat mezi různými softwarovými aplikacemi.
V praxi API funguje jako prostředník (poslíček), který přijímá požadavek od klienta, doručí jej systému, a následně vrátí odpověď zpět uživateli. Díky tomu vývojáři nemusí vědět, jak je cílový systém vnitřně naprogramován; stačí jim znát rozhraní, které jim systém poskytuje.
Princip API lze přirovnat k menu v restauraci:
Podle způsobu přístupu a účelu dělíme rozhraní do několika kategorií:
Umožňují komunikaci mezi webovým prohlížečem a serverem, nebo mezi dvěma servery přes internet (protokol HTTP).
Umožňují programům komunikovat s operačním systémem nebo využívat funkce specifických knihoven.
Aby si dvě aplikace rozuměly, musí data posílat v dohodnutém formátu. Nejčastěji se setkáváme s:
| Formát | Charakteristika |
|---|---|
| JSON | JavaScript Object Notation. Lehký, čitelný pro lidi i stroje. Standard pro REST. |
| XML | Extensible Markup Language. Hierarchický, přísně strukturovaný, ale datově objemnější. |
| YAML | Často využíván pro konfigurační API (např. Kubernetes, Docker). |
get_users().Vzhledem k tomu, že API otevírá přístup k datům, musí být chráněno:
API je „lepidlem“ moderního internetu. Bez něj by neexistovaly mapy v aplikacích pro rozvoz jídla, sdílení příspěvků mezi sociálními sítěmi ani propojení cloudových služeb. Výběr správného typu rozhraní (REST vs. GraphQL) je klíčovým rozhodnutím při návrhu jakéhokoli softwarového systému.