Junior
Koje API se mogu nazvati RESTful?
sobes.tech АИ
Одговор од АИ
RESTful API-ji se pridržavaju principa arhitektonskog stila REST:
- Klijent-server: Odvajanje odgovornosti između klijenta, koji traži resurse, i servera, koji ih pruža.
- Bez stanja (Stateless): Svaki zahtev od klijenta prema serveru mora sadržavati sve potrebne informacije za obradu. Server ne čuva stanje sesije klijenta.
- Kešabilno: Server mora eksplicitno ili implicitno naznačiti da li odgovori mogu biti keširani od strane klijenta ili posrednika.
- Slojeviti sistem: Klijent ne može razlikovati između direktnog poziva serveru i poziva preko posrednih slojeva (proksi, balanseri opterećenja itd.).
- Kod na zahtev (opciono): Server može privremeno proširiti funkcionalnost klijenta prenoseći izvršni kod (npr. JavaScript).
- Ujednačen interfejs: Najvažniji princip RESTful API-ja. Sastoji se od četiri ograničenja:
- Identifikacija resursa: Resursi se identifikuju putem URL-ova.
- Manipulacija resursima putem reprezentacija: Klijent komunicira sa resursima dobijanjem njihovih reprezentacija (npr. u JSON, XML formatu).
- Poruke koje se same opisuju: Svaka poruka sadrži dovoljno informacija za obradu, uključujući metapodatke o načinu obrade poruke i resursa.
- HATEOAS (Hypermedia as the Engine of Application State): Server mora sadržavati hiperlinkove u odgovorima koji omogućavaju klijentu da otkrije dostupne akcije i pretražuje između stanja aplikacije. Ovo je najmanje često ispunjeno pravilo.
RESTful API koristi standardne HTTP metode (GET, POST, PUT, DELETE, PATCH) za operacije nad resursima, identifikovanim URI-jem.
Na primer, GET zahtev na /api/users/123 dobija reprezentaciju korisnika sa ID-jem 123.