A RESTful API(Representational State Transfer) je vrsta arhitekture in protokola za načrtovanje in upravljanje aplikacijskih programskih vmesnikov(API) v porazdeljenih sistemih. RESTful API je zgrajen na temeljnih načelih arhitekture REST, metode, ki jo je leta 2000 opisal Roy Fielding v svoji disertaciji.
Ključne značilnosti RESTful API vključujejo:
Dostop na podlagi naslova
Vsak vir je predstavljen z URL-jem(Uniform Resource Locator), ki omogoča sistemom, da komunicirajo prek zahtev HTTP, kot so GET, POST, PUT in DELETE.
Dostop brez državljanstva
Vsaka zahteva odjemalca vsebuje dovolj informacij, da strežnik razume zahtevo, ne da bi se zanašal na informacije o prejšnjem stanju. Strežnik ne shranjuje informacij o stanju odjemalca med zahtevami.
Uporaba metode HTTP
RESTful API uporablja metode HTTP(GET, POST, PUT, DELETE) za določitev namena vsake zahteve. Uporabite na primer GET za pridobivanje informacij, POST za ustvarjanje novih podatkov, PUT za posodobitev in DELETE za odstranitev.
Uporaba vrst medijev
Podatki se prenašajo po omrežju z uporabo formatov, kot so JSON, XML ali drugih formatov po meri. Vsaka zahteva mora navesti želeno obliko podatkov.
Identifikacija virov
Viri so identificirani z edinstvenimi URL-ji, kar strankam omogoča dostop do virov z uporabo identifikatorjev na podlagi poti.
Predpomnilnik
Zahteve in odgovore RESTful API lahko shranite v pomnilnik odjemalca ali strežnika proxy, da optimizirate delovanje.
Večplastni sistem
Arhitektura REST omogoča dodajanje vmesnih slojev, kot so izravnalniki obremenitve ali strežniki proxy, za izboljšanje razširljivosti in vodljivosti.
API-ji RESTful se pogosto uporabljajo pri razvoju spletnih in mobilnih aplikacij, kar omogoča učinkovito komunikacijo in izmenjavo podatkov med aplikacijami. Večje spletne storitve, kot so Facebook, Twitter in Google, prav tako uporabljajo arhitekturo RESTful za zagotavljanje API-jev za razvijalce.