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:

  1. inimene tänavalt valib esmalt välja sobiva restorani, kus ta soovib süüa

  2. valitud restoranis on kindel menüü, mille järgi klient peaks tellima

  3. klient esitab menüü järgi tellimuse, näiteks 1 hapukapsasupp ja 2 leivavahtu

  4. klient ei pea ilmtingimata teadma, kuidas tema roog köögis valmib - teda huvitab tulemus

  5. 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:

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

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

  3. kliendi tellimus on API päring

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

  5. tellitud roog on API päringu vastus.

API analoog pilt

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.