Sobes.tech
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.