Većina veb aplikacija ima klijent-server arhitekturu. Komunikacija između njih se odvija putem mrežnih protokola, ali svaka komunikacija zahteva pravila, i tako na scenu stupa REST API.
REST (reprezentativni prenos stanja) je skup pravila za interakciju distribuiranih komponenti aplikacije i on ima sledeće zahteve (ograničenja):
- Klijent treba da bude odvojen od servera
- Kada klijent ne šalje zahtev, informacije o njegovom stanju ne čuvaju se na serveru.
- Odgovor servera može da se kešira
- Uniformnost interfejsa
- Moguće je dodavati slojeve između klijenta i servera radi bolje skalabilnosti i sigurnosti.
Postoje 4 glavne metoda za testiranje API-ja.
GET – koristi se za čitanje podataka sa servera koristeći uniformni identifikator resursa. Nikako ne možda da utiče na podatke, već ih samo preuzima. Kod ovoga je bitno da samo imate adresu API-ja i onda je samo učitate, dobićete gotove podatke.
POST – koristi se za slanje podataka na server, za ažuriranje postojećih resursa i kreiranje novih. Na primer, kreiranje novih korisnika. Takođe je bitno da imate adresu, ali i da znate kakve podatke treba da pošaljete u kom formatu i obliku.
PUT – kreiranje novih entiteta ili prepis starog. Na primer, promena podataka korisnika.
DELETE – brisanje svih podataka o nekom entitetu. Na primer, brisanje korisnika. Ovde je samo bitno da znate šta brišete.
Isto je bitno imati u vidu u kome se formatu prenose podaci, da li je to json, xml ili tekst.
Kao rezultat testiranje pratimo kod, naslov i sadržaj odgovora (response code, header and body).
Kod odgovora sadrži tri cifre i u zavisnosti od toga kojim brojem počinje menja se i njegovo značenje:
- 1__ Informativne poruke. Na primer, 101 promena protokola, 102 zahtev se obraćuje.
- 2__ Uspešan zahtev. Na primer, 200 sve je OK.
- 3__ Prosleđivanje zahteva. Traženi podaci više nisu na toj adresi, već na drugoj. Na primer, 301 trajno preseljen, 307 privremena redirekcija..
- 4__ Greška na strani klijenta. Treba da promenite URL adresu, komandu ili njene parametre.
- 5__ Greška na strani servera. Server možda nije dostupan ili suviše sporo odgovara.
Kako da iz svog brauzera ispitate kako izgleda učitavanje sadržaja odgovora?
Odete na Pregledaj (Inspect), pa potom na jezičak Networks. I tu za sve to se učitava na sajtu možete videti kako da izanalizirate kodove i odgovor.
Postoji više alata koji se koriste za testiranje . Na Linuxu se najviše koristi curl, koji može da se preuzme i na Windowsu. Što se tiče Windowsa tu je dobar Postman, o kome smo već pisali. Ali postoji još sijaset alata.