Sobes.tech
Junior

Šta je REST API?

sobes.tech АИ

Одговор од АИ

REST API je arhitektonski stil za izgradnju distribuiranih sistema. Glavni principi REST:

  • Bezdržavni: Svaki zahtev od klijenta ka serveru mora sadržavati sve potrebne informacije za obradu. Server ne čuva stanje klijenta između zahteva.
  • Klijent-Server: Jasno razdvajanje odgovornosti između klijenta i servera. Klijent šalje zahteve, server ih obrađuje.
  • Kešabilno: Server mora naznačiti da li odgovori mogu biti keširani od strane klijenta ili posrednika.
  • Slojeviti sistem: Klijent ne mora nužno direktno komunicirati sa krajnjim serverom; može komunicirati putem posrednih slojeva (proxy, load balanceri).
  • Ujednačen interfejs: Jedinstven i standardizovan način interakcije između klijenta i servera. Ovaj princip uključuje:
    • Identifikaciju resursa: Resursi (podaci) se identifikuju putem URL-ova.
    • Manipulaciju resursima putem reprezentacija: Klijent interaguje sa resursima, dobijajući njihove reprezentacije (npr. JSON, XML) i šaljući nove reprezentacije za izmenu.
    • Samodovoljne poruke: Svaka poruka sadrži dovoljno informacija za razumevanje kako da se obradi.
    • HATEOAS (Hypertext As The Engine Of Application State): Resursi moraju sadržavati linkove (hiperlinkove) na povezane resurse i dostupne akcije.

REST API obično koristi standardne HTTP metode za izvršavanje operacija nad resursima:

  • GET: Dobijanje resursa ili kolekcije resursa.
  • POST: Kreiranje novog resursa.
  • PUT: Potpuna ažuriranja postojećeg resursa.
  • PATCH: Delimična ažuriranja postojećeg resursa.
  • DELETE: Brisanje resursa.

Primer JSON prikaza resursa:

{
  "id": 1, // Identifikator
  "name": "Resource Name", // Ime resursa
  "description": "Detailed description of the resource." // Opis resursa
}

Testiranje REST API uključuje proveru:

  • Funkcionalnosti (tačnost odgovora na zahteve).
  • Rukovanja greškama.
  • Performansi.
  • Bezbednosti.
  • Usklađenosti sa dokumentacijom.