Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

1.Šta je REST API i čemu služi?

Pre nego što počnemo, moramo objasniti akronim REST API kako bismo znali sa čime, kako i iz kog
razloga radimo sve što ćemo kroz ovaj kurs proći. Da bismo razumeli čitav koncept, probaćemo da
objasnimo ovaj termin bez upuštanja u previše tehničkih detalja.

API (Application Programming Interface) dozvoljava uspostavljanje veze između dva razičita tipa
softvera. Primera radi, naš kompjuter ima USB port, koji služi za povezivanje USB uređaja za
skladištenje podataka kao što su flash drives ili USB hard diskovi. Međutim, preko tog porta možemo
povezati bilo koji tip USB hardvera koji je sa druge strane povezan sa štampačima, pametnim
telefonima, tabletima, itd. To znači da USB port služi kao API koji nam dozvoljava da povežemo
različite tipove uređaja sa našim kompjuterom, i komuniciramo sa tim uređajem preko tog kompjutera.
Slično kao što USB port olakšava razmenu podataka između dva fizička uređaja, API olakšava
razmenu podataka između dva različita tipa softvera.
API omogućava developerima da koriste sadržaj i karakteristike drugih aplikacija, servisa ili platformi,
uz određena ograničenja i sigurnosne mere.

REST je takođe akronim koji označava Representational State Trasfer i odnosi se na stil kreiranja APIja. Skoro svi veliki web servisi kao što su Google, Twitter
i Facebook se oslanjaju na REST za njihov API. Razlog za to je jednostavan – REST je baziran na HTTP protokolu koji pokreće skoro sve internet konekcije,
lak je i fleksibilan i može sa lakoćom rukovati i upravljati velikim brojem aktivnosti.

Drugim rečima, REST je arhitektualna paradigma za web servise, i servisi koji koriste ovu paradigmu
su poznati kao RESTful servisi. Ideja iza RESTa je korišćenje jednostavnog HTTP protokola za
uspostavljanje konekcije umesto oslanjanja na kompleksne web servise kao što su SOAP ili XML-
RPC. RESTful aplikacije koriste HTTP zahteve za rukovanje sa svim CRUD operacijama. CRUD
operacije su:
• Create: kreiranje
• Read: čitanje
• Update: ažuriranje
• Delete: brisanje.

Ovo čini REST veoma prilagodljivim, i svako može da napravi svoju verziju RESTa sa standardnom
bibliotekom karakteristika koristeći programski jezik po izboru (Perl, PHP,...).
REST je kompletno nezavisan u odnosu na platformu, može se koristiti u različitim scenarijima gde, na primer, server može biti Linux a klijent može da koristi
Windows, ili slično. S obzirom da je standardizovan i nezavisan u odnosu na programski jezik, RESTful zahtevi nose sa sobom sve informacije koje su potrebne
za izvršavanje neke akcije.

U REST Web servisu, URI zahtevi (Uniform Resource Identifier) će dobiti odgovor koji može biti u XML, HTML, JSON ili nekom drugom definisanom formatu.
Odgovor može potvrditi da je napravljena neka izmena, ali takođe može sadržati hypertext veze ka drugim povezanim resursima ili zbirkama resursa. Koristeći
HTTP, kao što je najčešće, vrste dostupnih operacija uključuju one koje su prethodno definisane HTTP “glagolima” kao što su GET, POST, PUT, DELETE, itd.

Jedna od glavnih karakteristika REST web servisa predstavlja eksplicitno korišćenje HTTP metoda prema unapred definisanim standardu.
REST API zahteva od svih developera da eksplicitno koriste HTTP metode na predefinisan način i po propisanim standardima. Kako bi mapirao HTTP metode,
REST API koristi CRUD operacije, kao što smo već spomenuli. Takođe je vrlo važno pratiti smernice REST APIja koje kažu da se eksplicitno koriste “imenice”
umesto “glagola” unutar URIja.
REST zahtevi:
- POST - služi za kreiranje sadržaja na serveru
- GET - služi za preuzimanje sadržaja sa servera
- PUT - služi za izmene određenog zadržaja
- DELETE - služi za uklanjanje sadržaja

JSON je akronim za JavaScript Object Notation. Kao što ime sugeriše, JSON je oblik formata za razmenu podataka koji je baziran na JavaScriptu. Popularnost
ovog formata raste, s obzirom da je lako čitljiv za mašinu, kao i za ljudsko oko. Kompjuteri mogu lako da parsuju i procesiraju JSON, tačnije, mnogi popularni
programski jezici nude svoje tumače ili prevodioce koji mogu raščlaniti JSON izlaz. To ga čini idealnim za međuplatformsku interakciju. Aplikacija koja je pisana
u jednom jeziku može da komunicira sa drugom aplikacijom koja je pisana u različitom programskom jeziku konverzijom svoje str ukture podataka u JSON
format, i obrnuto.
Rest API i WordPress
REST API je integrisan u WordPress Core od verzije 4.7. WordPress REST API je RESTful API koji koristi jednostavne HTTP zahteve da pristupi podacima
WordPress web sajta u JSON formatu. Drugim rečima, to je novi način pristupa podacima u WordPressu koji ne zahteva pristup preko teme, RSS-a ili XML-
RPC-a. Pod terminom “pristup podacima”, ne misli se samo na čitanje podataka, već na čitanje, kreiranje, ažuriranje i brisanje podataka, što podrazumeva sve
CRUD operacije koje smo spomenuli ranije. Uz pomoć slanja i primanja JSON objekata, možemo imati komunikaciju sa web sajtom sa potpuno odvojenog web
mesta. Znajući karakteristike JSON-a, možemo zaključiti da je moguće komunicirati sa aplikacijama koje nisu pisane u programskom jeziku kojim se služi
WordPress, što nam otvara mnoge mogućnosti.

Dobar primer za upotrebu REST APIja u WordPressu mogao bi biti internet prodavnica. U slučaju da imamo WordPress web sajt sa internet prodavnicom, koja
je istovremeno dostupna korisnicima i kroz iOS/Android aplikaciju, neophodno je da prikazani podaci proizvoda (asortiman proizvoda, dostupnost određenih
artikala, količine, itd) u našoj aplikaciji, kao i na samom web sajtu, uvek budu usklađeni. Ovo možemo obezbediti korišćenjem CRUD operacija i WordPressovog
REST APIja.

Iako deluje veoma jednostavno, REST API je veoma kompleksan. Zbog toga ćemo tokom ovog kursa ići segment po segment, kako ne bismo izostavili nijednu
važnu komponentu, i kako bismo Vam REST API predstavili na najbolji mogući način.
Tokom kursa držaćemo se WordPressovog REST APIja, a dodatne informacije i objašnjenja uvek možete pronaći na WordPress developer handbooku.

You might also like