Uživatelské nástroje

Nástroje pro tento web


it:dev:api

API – Rozhraní pro programování aplikací

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.

1. Jak API funguje?

Princip API lze přirovnat k menu v restauraci:

  • Zákazník (Uživatel/Aplikace): Vybírá si z nabídky dostupných funkcí.
  • Menu (API): Seznam operací, které lze provést, a formát, v jakém musí být požadovány.
  • Kuchyně (Server/Systém): Vykoná požadovanou logiku a připraví data.

2. Hlavní typy API

Podle způsobu přístupu a účelu dělíme rozhraní do několika kategorií:

Webová API (Nejrozšířenější)

Umožňují komunikaci mezi webovým prohlížečem a serverem, nebo mezi dvěma servery přes internet (protokol HTTP).

  • REST (Representational State Transfer): Dnes nejpopulárnější standard. Využívá HTTP metody (GET, POST, PUT, DELETE) a data přenáší nejčastěji ve formátu JSON.
  • SOAP (Simple Object Access Protocol): Starší, robustnější protokol založený na XML. Často využíván v bankovnictví pro vysokou úroveň zabezpečení.
  • GraphQL: Moderní dotazovací jazyk od Meta (Facebooku), který umožňuje klientovi přesně definovat, jaká data chce dostat (řeší problém over-fetchingu).

Knihovní a OS API

Umožňují programům komunikovat s operačním systémem nebo využívat funkce specifických knihoven.

  • Win32 API: Pro aplikace v systému Windows.
  • POSIX: Standard pro unixové systémy (Linux, macOS).

3. Formáty přenosu dat

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).

4. Proč je API důležité?

  • Abstrakce: Vývojář nemusí znát složitost backendu (např. složité SQL dotazy), stačí mu zavolat funkci get_users().
  • Integrace: Umožňuje propojit nesourodé systémy (např. platební brána Stripe na vašem e-shopu).
  • Škálovatelnost: Mobilní aplikace i webová stránka mohou používat stejné API pro přístup k datům.
  • Automatizace: API umožňuje programům ovládat jiné programy bez lidského zásahu.

5. Bezpečnost a autentizace

Vzhledem k tomu, že API otevírá přístup k datům, musí být chráněno:

  • API Key: Unikátní řetězec identifikující volající aplikaci.
  • OAuth 2.0: Standard pro delegovanou autorizaci (např. „Přihlásit se přes Google“).
  • Rate Limiting: Omezení počtu požadavků za minutu, aby nedošlo k přetížení serveru (ochrana proti DoS útokům).

Závěr

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.

it/dev/api.txt · Poslední úprava: autor: admin