API¶
API (Application Programming Interface, rakendusliides) tähistab reegleid, mille alusel üks arvuti või arvutiprogramm saab teisega suhelda. Aga mida see täpsemalt tähendab?
API analoog - restoranidest toidu tellimine¶
API on nagu restoranidest toidu tellimine:
inimene tänavalt valib esmalt välja sobiva restorani, kus ta soovib süüa
valitud restoranis on kindel menüü, mille järgi klient peaks tellima
klient esitab menüü järgi tellimuse, näiteks 1 hapukapsasupp ja 2 leivavahtu
klient ei pea ilmtingimata teadma, kuidas tema roog köögis valmib - teda huvitab tulemus
mõne aja pärast, kui kõik läks hästi, tagastab kelner kliendile tellitud road
Sellest protsessist võib läbi API terminite mõelda nii:
inimene tänavalt on API klient (tarbija) ja restoran või kelner on API server (pakkuja, "serveerija"); nagu on palju restorane, on ka palju erinevaid API-sid, mille vahel klient valida saab
menüü on API kasutusjuhend (dokumentatsioon / API spetsifikatsioon); kui kelner pakub kas tellida vanema menüü järgi või uuema menüü järgi, võib nendest mõelda kui erinevatest API versioonidest (nt v1, v2, ...)
kliendi tellimus on API päring
toidu valmistamine on API päringu töötlus; köök on API tagaserver (backend), millesse kliendil üldjuhul asja pole - pole tähtis, kuidas täpselt see supp valmis sai
tellitud roog on API päringu vastus.
Vihje
Mis juhtub, kui klient esitab valetellimuse - näiteks toidule, mida restoran ei paku?
Oleneb muidugi API-st! Heal juhul vastab kelner veateatega ("meil on porgand otsas" või "pelmeene me ei paku, võta midagi muud"). Halvemal juhul tuleb kelner tagasi vale roaga, või ei tule üldse tagasi (klient jääbki ootama, kuni lahkub või uuesti küsib).
Kuigi "API" on laiaulatuslikum termin (nt programmeerimiskeele API, operatsioonisüsteemi API, ...), kasutakse seda tihti just kitsamalt "veebi API" tähenduses (HTTP peale ehitatud API). HTTP ja reaalsete HTTP API-de näidete kohta vaata järgmist peatükki HTTP.