Vodič za RESTful web usluge: Što je REST API s primjerom
Što su Restful web usluge?
Web usluge za odmor je lagana, održiva i skalabilna usluga koja je izgrađena na REST arhitekturi. Restful Web Service, klijentu koji poziva izlaže API iz vaše aplikacije na siguran, uniforman način bez stanja. Klijent koji poziva može izvoditi unaprijed definirane operacije pomoću usluge Restful. Temeljni protokol za REST je HTTP. REST je kratica za REpresentational State Transfer.
RESTful ključni elementi
Web usluge REST-a zaista su prešle dug put od svog početka. Godine 2002. Web konzorcij objavio je definiciju WSDL i SOAP web usluga. Ovo je formiralo standard implementacije web usluga.
Web konzorcij je 2004. objavio i definiciju dodatnog standarda pod nazivom RESTful. U posljednjih nekoliko godina ovaj je standard postao vrlo popularan. I koriste ga mnoge popularne web stranice diljem svijeta, uključujući Facebook i Twitter.
REST je način pristupa resursima koji se nalaze u određenom okruženju. Na primjer, možete imati poslužitelj koji bi mogao ugostiti važne dokumente, slike ili videozapise. Sve su to primjeri resursa. Ako klijent, recimo web preglednik, treba bilo koji od ovih resursa, mora poslati zahtjev poslužitelju za pristup tim resursima. Sada REST usluge definiraju način na koji se tim resursima može pristupiti.
Ključni elementi RESTful implementacije su sljedeći:
- Resursi – Prvi ključni element je sam resurs. Pretpostavimo da web aplikacija na poslužitelju ima zapise o nekoliko zaposlenika. Pretpostavimo da je URL web aplikacije https://demo.guru99.com. Da biste pristupili resursu evidencije zaposlenika putem REST usluga, možete izdati naredbu https://demo.guru99.com/employee/1 – Ova naredba govori web poslužitelju da pruži podatke o zaposleniku čiji je broj zaposlenika 1.
- Glagoli zahtjeva – Oni opisuju što želite učiniti s resursom. Preglednik izdaje glagol GET kako bi uputio krajnju točku da želi dobiti podatke. Međutim, dostupni su mnogi drugi glagoli uključujući stvari poput POST, PUT i DELETE. Dakle, u slučaju primjera https://demo.guru99.com/employee/1 , web preglednik zapravo izdaje glagol GET jer želi dobiti pojedinosti o evidenciji zaposlenika.
- Zatraži zaglavlja – Ovo su dodatne upute poslane uz zahtjev. Oni mogu definirati vrstu potrebnog odgovora ili detalje autorizacije.
- Tijelo zahtjeva – Podaci se šalju uz zahtjev. Podaci se obično šalju u zahtjevu kada se uputi POST zahtjev web uslugama REST. U POST pozivu, klijent zapravo govori REST web uslugama da želi dodati resurs na poslužitelj. Stoga bi tijelo zahtjeva imalo pojedinosti o resursu koji je potrebno dodati na poslužitelj.
- Tijelo odgovora – Ovo je glavnina odgovora. Dakle, u našem primjeru RESTful API-ja, ako bismo postavili upit web poslužitelju putem zahtjeva https://demo.guru99.com/employee/1 , web poslužitelj može vratiti XML dokument sa svim pojedinostima o zaposleniku u Tijelu odgovora.
- Kodovi statusa odgovora – Ovi kodovi su opći kodovi koji se vraćaju zajedno s odgovorom web poslužitelja. Primjer je kod 200 koji se obično vraća ako nema greške prilikom vraćanja odgovora klijentu.
Umirujuće metode
Donji dijagram prikazuje uglavnom sve glagole (POST, GET, PUT i DELETE) i REST API primjer onoga što bi oni značili.
Pretpostavimo da imamo RESTful web uslugu definiranu na lokaciji. https://demo.guru99.com/employee . Kada klijent uputi bilo koji zahtjev ovoj web-usluzi, može navesti bilo koji od uobičajenih HTTP glagola GET, POST, DELETE i PUT. Ispod je što bi se dogodilo da je klijent poslao odgovarajuće glagole.
- POST – Ovo bi se koristilo za stvaranje novog zaposlenika pomoću RESTful web usluge
- GET – Ovo bi se koristilo za dobivanje popisa svih zaposlenika koji koriste RESTful web uslugu
- PUT – Ovo bi se koristilo za ažuriranje svih zaposlenika koji koriste RESTful web uslugu
- DELETE – Ovo bi se koristilo za brisanje svih zaposlenika koji koriste RESTful usluge
Pogledajmo iz perspektive samo jednog zapisa. Recimo da je postojala evidencija zaposlenika s brojem zaposlenika 1.
Sljedeće radnje imale bi svoje značenje.
- POST – Ovo ne bi bilo primjenjivo jer dohvaćamo podatke zaposlenika 1 koji su već kreirani.
- GET – Ovo bi se koristilo za dobivanje podataka o zaposleniku s brojem zaposlenika kao 1 pomoću RESTful web usluge
- PUT – Ovo bi se koristilo za ažuriranje podataka o zaposleniku s brojem zaposlenika kao 1 pomoću RESTful web usluge
- DELETE – Ovo se koristi za brisanje pojedinosti o zaposleniku s brojem zaposlenika kao 1
Zašto Restful
Restful je uglavnom postao popularan zbog sljedećih razloga:
1. Heterogeni jezici i okruženja – To je jedan od temeljnih razloga koji je isti kao što smo vidjeli SOAP kao dobro.
- Omogućuje međusobnu komunikaciju web aplikacija koje su izgrađene na različitim programskim jezicima
- Uz pomoć Restful usluga, ove web aplikacije mogu se nalaziti u različitim okruženjima, a neka mogu biti uključena Windows, a ostali bi mogli biti na Linuxu.
Ali na kraju, bez obzira kakvo je okruženje, krajnji rezultat bi uvijek trebao biti isti da bi trebali moći razgovarati jedni s drugima. Restful web usluge nude ovu fleksibilnost aplikacijama izgrađenim na različitim programskim jezicima i platformama za međusobni razgovor.
Slika ispod daje primjer web aplikacije koja ima zahtjev za komunikaciju s drugim aplikacijama kao što su Facebook, Twitter i Google.
Ako bi klijentska aplikacija morala raditi sa stranicama kao što su Facebook, Twitter itd., vjerojatno bi morali znati koji je jezik na kojem su Facebook, Google i Twitter izgrađeni, kao i na kojoj su platformi izgrađeni.
Na temelju toga možemo napisati kod sučelja za našu web aplikaciju, ali to bi se moglo pokazati kao noćna mora.
Facebook, Twitter i Google izlažu svoju funkcionalnost u obliku Restful web usluga. To omogućuje bilo kojoj klijentskoj aplikaciji pozivanje ovih web usluga putem REST-a.
2. Događaj uređaja – U današnje vrijeme treba raditi na svemu Mobilni uređajima, bilo da se radi o mobilnim uređajima, prijenosnim računalima ili čak automobilskim sustavima.
Možete li zamisliti koliko je truda potrebno pokušati kodirati aplikacije na ovim uređajima za komunikaciju s normalnim web aplikacijama? Opet Restful API-ji mogu ovaj posao učiniti jednostavnijim jer kao što je spomenuto u točki broj 1, stvarno ne morate znati koji je temeljni sloj za uređaj.
3. Konačno je događaj Oblak – Sve se seli u oblak. Aplikacije se polako sele na sustave temeljene na oblaku kao što su in Azure or Amazon. Azure i Amazon pružaju puno API-ja temeljenih na arhitekturi Restful. Stoga je sada potrebno razviti aplikacije na takav način da budu kompatibilne s Cloudom. Dakle, budući da sve arhitekture temeljene na oblaku rade na principu REST, ima više smisla da se web usluge programiraju na arhitekturi temeljenoj na uslugama REST kako bi se najbolje iskoristile usluge temeljene na oblaku.
Miran Architektura
Aplikacija ili arhitektura koja se smatra RESTful ili REST stilom ima sljedeće karakteristike
1. Stanje i funkcionalnost dijele se na distribuirane resurse – To znači da svaki resurs treba biti dostupan putem uobičajenih HTTP naredbi GET, POST, PUT ili DELETE. Dakle, ako je netko želio dobiti datoteku s poslužitelja, trebao bi moći izdati GET zahtjev i dobiti datoteku. Ako žele staviti datoteku na poslužitelj, trebali bi moći izdati zahtjev POST ili PUT. I na kraju, ako su htjeli izbrisati datoteku s poslužitelja, mogu izdati zahtjev DELETE.
2. Arhitektura je klijent/poslužitelj, bez stanja, slojevita i podržava predmemoriranje
- Klijent-poslužitelj je tipična arhitektura gdje poslužitelj može biti web poslužitelj koji hostira aplikaciju, a klijent može biti jednostavan kao web preglednik.
- Bez stanja znači da se stanje aplikacije ne održava u REST-u. Na primjer, ako izbrišete resurs s poslužitelja pomoću naredbe DELETE, ne možete očekivati da će se informacije o brisanju proslijediti sljedećem zahtjevu.
Kako biste osigurali brisanje resursa, trebali biste izdati GET zahtjev. Zahtjev GET koristio bi se za prvo dobivanje svih resursa na poslužitelju. Nakon čega bi trebalo vidjeti je li resurs stvarno izbrisan.
RESTFul principi i ograničenja
REST arhitektura temelji se na nekoliko karakteristika koje su razrađene u nastavku. Svaka RESTful web usluga mora biti u skladu s dolje navedenim karakteristikama kako bi se mogla zvati RESTful. Ove su karakteristike također poznate kao načela dizajna koja se moraju slijediti pri radu s uslugama temeljenim na RESTfulu.
Ovo je najosnovniji zahtjev za arhitekturu temeljenu na REST-u. To znači da će poslužitelj imati RESTful web servis koji će klijentu pružiti potrebnu funkcionalnost. Klijent šalje zahtjev web servisu na poslužitelju. Poslužitelj bi ili odbio zahtjev ili udovoljio i dao adekvatan odgovor klijentu.
- bez države
Koncept bez statusa znači da je na klijentu osigurati da se sve potrebne informacije dostave poslužitelju. Ovo je potrebno kako bi poslužitelj mogao obraditi odgovor na odgovarajući način. Poslužitelj ne bi trebao održavati nikakve informacije između zahtjeva klijenta. To je vrlo jednostavan neovisni niz pitanja i odgovora. Klijent postavlja pitanje, poslužitelj odgovara na odgovarajući način. Klijent će postaviti drugo pitanje. Poslužitelj neće zapamtiti prethodni scenarij pitanje-odgovor i morat će samostalno odgovoriti na novo pitanje.
- Cache
Koncept predmemorije treba pomoći kod problema bez stanja koji je opisan u posljednjoj točki. Budući da je svaki zahtjev klijenta poslužitelja neovisne prirode, ponekad klijent može od poslužitelja ponovno zatražiti isti zahtjev. I to iako je to već tražio u prošlosti. Ovaj zahtjev će ići poslužitelju, a poslužitelj će dati odgovor. To povećava promet preko mreže. Predmemorija je koncept implementiran na klijentu za pohranjivanje zahtjeva koji su već poslani poslužitelju. Dakle, ako isti zahtjev zada klijent, umjesto odlaska na poslužitelj, otišao bi u predmemoriju i dobio tražene informacije. Ovo štedi količinu mrežnog prometa do i natrag od klijenta do poslužitelja.
- Slojeviti sustav
Koncept slojevitog sustava je da se bilo koji dodatni sloj kao što je međuslojni sloj može umetnuti između klijenta i stvarnog poslužitelja koji hostira RESTFul web uslugu (međuslojni sloj je mjesto gdje se stvara sva poslovna logika. To može biti dodatna usluga kreiran s kojim bi klijent mogao komunicirati prije nego što uputi poziv web servisu.). Ali uvođenje ovog sloja mora biti transparentno kako ne bi ometalo interakciju između klijenta i poslužitelja.
- Sučelje/Jedinstveni ugovor
Ovo je temeljna tehnika kako bi RESTful web usluge trebale funkcionirati. RESTful u osnovi radi na HTTP web sloju i koristi donje ključne glagole za rad s resursima na poslužitelju
- POST – Za stvaranje resursa na poslužitelju
- GET – Za dohvaćanje resursa s poslužitelja
- PUT – promijeniti stanje resursa ili ga ažurirati
- DELETE – Za uklanjanje ili brisanje resursa s poslužitelja
Stvorite svoju prvu Restful web uslugu u ASP.NET-u
Sada ćemo u ovom vodiču za REST API naučiti kako stvoriti Restful web uslugu u ASP.NET-u:
Web usluge mogu se izraditi na različitim jezicima. Mnoga integrirana razvojna okruženja mogu se koristiti za stvaranje usluga temeljenih na REST-u.
U ovom primjeru RESTful API-ja izradit ćemo našu REST aplikaciju u .Net-u koristeći Visual Studio. U našem primjeru, za web usluge Restful emulirati ćemo sljedeći primjer usluge REST.
Imat ćemo web uslugu Restful koja će raditi na donjem skupu podataka.
Donji skup podataka predstavlja primjer REST API-ja tvrtke koja izlaže Vodič koji ima na temelju Tutorialida.
Tutorialid | TutorialName |
---|---|
0 | nizovi |
1 | redovi |
2 | Stacks |
U našem primjeru vodiča za REST API, implementirat ćemo donje Restful glagole.
- PREUZMI Vodič – Kada klijent pozove ovaj Restful API, dobit će cijeli set vodiča dostupnih na web-usluzi.
- GET Tutorial/Tutorialid – Kada klijent pozove ovaj Restful API, dobit će naziv Tutorial na temelju Tutorialid-a koji je poslao klijent.
- POST Tutorial/Tutorialname – Kada klijent pozove ovaj Restful API, klijent će poslati zahtjev za umetanje naziva vodiča. Web-usluga će zatim dodati naziv podnesenog vodiča u kolekciju.
- DELETE Tutorial/Tutorialid– Kada klijent pozove ovaj Restful API, klijent će poslati zahtjev za brisanje naziva vodiča na temelju ID-a vodiča. Web-usluga će zatim izbrisati poslani naziv vodiča iz zbirke.
Slijedimo donje korake u ovom vodiču za RESTful API kako bismo stvorili naše prve RESTful web usluge, koje provode gornju implementaciju.
Kako stvoriti svoju prvu umirujuću web uslugu
Korak 1) Stvorite novi projekt.
Prvi korak je stvaranje praznog Asp.Net Web aplikacija. U Visual Studio 2013 kliknite na opciju izbornika Datoteka->Novi projekt.
Nakon što kliknete opciju Novi projekt, Visual Studio će vam dati još jedan dijaloški okvir za odabir vrste projekta i davanje potrebnih pojedinosti o projektu. Ovo je objašnjeno u sljedećem koraku ovog vodiča za RESTful API
Korak 2) Unesite naziv projekta i lokaciju.
- Najprije odaberite RESTful web usluge C# web predložak ASP.NET web aplikacije. Projekt mora biti ove vrste kako bi se izradio projekt web servisa. Odabirom ove opcije, Visual Studio će potom izvršiti potrebne korake za dodavanje potrebnih datoteka koje zahtijeva bilo koja web aplikacija.
- Dajte naziv za svoj projekt koji je u našem slučaju dan kao "Webservice.REST".
- Zatim osigurajte mjesto na kojem će biti pohranjene projektne datoteke.
Kada završite, vidjet ćete projektnu datoteku stvorenu u vašem pregledniku rješenja u Visual Studio 2013.
Korak 3) Stvorite datoteku web usluge.
Sljedeći korak je stvaranje datoteke web usluge koja će sadržavati RESTful web uslugu
- Prvo desnom tipkom miša kliknite datoteku projekta kao što je prikazano u nastavku
- U ovom koraku
- Desnom tipkom miša kliknite datoteku projekta
- Odaberite opciju “Dodaj->nova stavka.”
U dijaloškom okviru koji se pojavi potrebno je izvršiti sljedeće
- Odaberite opciju usluge WCF (omogućeno za Ajax) – Odaberite datoteku ove vrste, to uzrokuje Visual studio dodati neki osnovni kod koji pomaže stvoriti RESTful web uslugu. WCF je skraćenica za Windows komunikacija Foundation. WCF je biblioteka za aplikacije različitih platformi ili iste platforme za komunikaciju preko različitih protokola kao što su TCP, HTTP, HTTPS. Ajax je u osnovi asinkroni JavaScript i XML. AJAX omogućuje asinkrono ažuriranje web stranica razmjenom malih količina podataka s poslužiteljem iza scene.
- Zatim dajte ime za uslugu koja je u našem slučaju TutorialService.
- Na kraju kliknite gumb Dodaj kako biste uslugu dodali u rješenje.
Korak 4) Napravite konfiguraciju.
Sljedeći korak zapravo je izvršiti promjenu konfiguracije kako bi se omogućilo ovom projektu da dovrši rad s RESTful web uslugama. To zahtijeva promjenu datoteke koja se zove Web.config. Ova se datoteka pojavljuje u istom prozoru kao i datoteka projekta Webservice. Datoteka Web.config sadrži sve konfiguracije koje omogućuju da web aplikacija radi kako treba. Promjena koja se provodi zapravo omogućuje aplikaciji slanje i primanje podataka kao čistu RESTful web uslugu.
- Kliknite datoteku Web.config da biste otvorili kod
- Pronađite liniju
- Promijenite liniju u
Korak 5) Dodajte naš kod za implementaciju.
Sljedeći korak u ovom vodiču za RESTful API je dodavanje našeg koda za implementaciju. Sav dolje navedeni kod mora biti napisan u datoteci TutorialService.svc
- Prvi bit je dodavanje koda za predstavljanje naših podataka koji će se koristiti u našem programu. Dakle, imat ćemo popis string varijabli s vrijednostima "Arrays", "Queues" i "Stacks". Ovo će predstavljati naziv vodiča koji je dostupan putem naše web usluge hostinga.
namespace Webservice.REST { [ServiceContract(Namespace = "")] [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed public class TutorialService { private static List<String> lst = new List<String> (new String[] {"Arrays","Queues","Stacks"});
Korak 6) Definirajte kod za našu GET metodu.
Zatim ćemo definirati kod za našu GET metodu. Ovaj će se kod također nalaziti u istoj datoteci TutorialService.svc. Ovaj kod će se pokrenuti kad god pozovemo uslugu iz našeg preglednika.
Metoda u nastavku koristit će se za ispunjavanje dolje navedenog scenarija
- Ako korisnik želi popis svih dostupnih vodiča, tada bi trebao biti napisan donji kod da bi se to postiglo.
[WebGet(UriTemplate="/Tutorial")] public String GetAllTutorial() { int count = 1st.Count; String TutorialList = ""; for (int i = 0; i < count; i++) TutorialList = TutorialList + lst[i] + ","; return TutorialList; }
Objašnjenje koda:-
- Prva linija koda je najvažnija. Koristi se za definiranje kako ovu metodu možemo pozvati putem URL-a. Dakle, ako je poveznica na našu web uslugu http://localhost:52645/TutorialService.svc i ako URL-u dodamo '/Tutorial' kao http://localhost:52645/TutorialService.svc/Tutorial , gornji kod će biti pozvan. Atribut 'WebGet' je parametar koji ovoj metodi omogućuje da bude RESTful metoda tako da se može pozvati putem GET glagola.
- Ovaj dio koda koristi se za prolazak kroz naš popis nizova u 'lst' varijabli i vraćanje svih njih pozivnom programu.
Korak 7) Vrati izlaz.
Kôd u nastavku osigurava da će, ako se uputi GET poziv usluzi podučavanja s ID-om vodiča, vratiti odgovarajući naziv vodiča na temelju ID-a vodiča.
[WebGet (UriTemplate = "/Tutorial/{Tutorialid}")] public String GetTutorialbyID(String Tutorialid) { int pid; Int32.TryParse(Tutorialid, out pid); return lst[pid]; }
Objašnjenje koda:-
- Prva linija koda je najvažnija. Koristi se za definiranje kako ovu metodu možemo pozvati putem URL-a. Dakle, ako je poveznica na našu web uslugu http://localhost:52645/TutorialService.svc i ako URL-u dodamo '/Tutorial/{Tutorialid}', tada bismo mogli pozvati web uslugu kao http://localhost:52645/TutorialService.svc/Tutorial/1 kao primjer. Web usluga bi tada trebala vratiti naziv vodiča koji je imao ID vodiča #1.
- Ovaj dio koda koristi se za vraćanje "Naziva vodiča" koji ima ID vodiča proslijeđen web metodi.
- Prema zadanim postavkama, ono što treba zapamtiti je da je sve što se proslijedi URL-u u pregledniku niz.
- Ali morate zapamtiti da Indeks na našem popisu mora biti cijeli broj, tako da dodajemo potreban kod da prvo pretvorimo Tutorialid u Integer i zatim ga koristimo za pristup poziciji indeksa na našem popisu i
- Zatim u skladu s tim vratite vrijednost pozivnom programu.
Korak 8) Napišite kod za POST metodu.
Sljedeći korak je pisanje koda za našu POST metodu. Ova metoda će biti pozvana kad god želimo dodati vrijednost niza na naš popis Tutoriala putem POST metode. Na primjer, ako želite dodati naziv Vodiča "Testiranje softvera", tada biste trebali koristiti metodu POST.
Objašnjenje koda:-
- Prvi red je atribut 'WebInvoke' koji je priložen našoj metodi. To omogućuje pozivanje metode putem POST poziva. Atributi RequestFormat i ResponseFormat moraju se spomenuti kao JSON, budući da kada objavljuju vrijednosti na RESTFul web servisu, vrijednosti moraju biti u ovom formatu.
- Drugi redak koda koristi se za dodavanje vrijednosti niza proslijeđene putem POST poziva našem postojećem popisu nizova vodiča.
Korak 9) Dodajte metodu za rukovanje operacijom DELETE.
Na kraju ćemo dodati našu metodu za rukovanje operacijom DELETE. Ova metoda će biti pozvana kad god želimo izbrisati postojeću vrijednost niza s našeg popisa Tutoriala putem metode DELETE.
[WebInvoke(Method = "DELETE", RequestFormat = WebMessageFormat.Json, UriTemplate = "/Tutorial/{Tutorialid}", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped)] public void DeleteTutorial(String Tutorialid) { int pid; Int32.TryParse(Tutorialid, out pid); 1st.RemoveAt(pid); }
Objašnjenje koda:-
- Prvi red je atribut 'WebInvoke' koji je priložen našoj metodi. To omogućuje pozivanje metode putem POST poziva. Atributi RequestFormat i ResponseFormat moraju se spomenuti kao JSON, budući da kada objavljuju vrijednosti na RESTFul web servisu, vrijednosti moraju biti u ovom formatu. Imajte na umu da je parametar metode postavljen na "DELETE". To znači da kad god izdamo glagol DELETE, ova metoda će biti pozvana.
- Drugi redak koda koristi se za preuzimanje Tutorialid-a poslanog putem DELETE poziva i naknadnog brisanja tog ID-a s našeg popisa. ( Int32 funkcija u kodu koristi se za pretvaranje ID-a vodiča iz varijable niza u cijeli broj).
Pokretanje vaše prve web usluge Restful
Sada kada smo izradili našu cijelu web uslugu u gornjem odjeljku. Pogledajmo kako možemo pokrenuti uslugu Tutorial tako da se može pozvati s bilo kojeg klijenta.
Za pokretanje web usluge slijedite korake u nastavku
Korak 1) Desni klik na projektnu datoteku – Webservice.REST
Korak 2) Odaberite opciju izbornika 'Postavi kao početni projekt'. Ovo će osigurati da se ovaj projekt pokrene kada Visual Studio pokrene cijelo rješenje
Korak 3) Sljedeći korak je pokretanje samog projekta. Ovisno o zadanom pregledniku instaliranom na sustavu, odgovarajući naziv preglednika doći će pored gumba za pokretanje u Visual Studiju. U našem slučaju, imamo Google Chrome pojavljivanje. Samo kliknite na ovaj gumb.
Izlaz:-
Kada se projekt pokrene, možete pregledati svoj odjeljak TutorialService.svc/Tutorial i dobit ćete rezultat ispod.
U gornjem izlazu,
- Možete vidjeti da preglednik poziva glagol 'GET' i izvršava metodu 'GetAllTutorial' u web usluzi. Ovaj se modul koristi za prikaz svih udžbenika koje izlaže naša web usluga.
Testiranje vaše prve web usluge Restful
U gornjem odjeljku već smo vidjeli kako koristiti preglednik za izvršavanje glagola 'GET' i pozivanje 'GetAllTutorial'.
- Upotrijebimo sada preglednik za izvođenje sljedećeg scenarija upotrebe.
GET Tutorial/Tutorialid – Kada klijent pozove ovaj Restful API, dobit će naziv Tutoriala na temelju Tutorialid-a koji je poslao klijent
U svom pregledniku dodajte niz /1 nakon riječi vodiča u URL-u. Ako pritisnete tipku enter, dobit ćete donji izlaz
Sada ćete vidjeti izlaz Queuesa koji zapravo odgovara broju 1 na našem popisu nizova vodiča. To znači da se metoda 'GetTutorialbyID' sada poziva iz naše web usluge. Također pokazuje da se vrijednost 1 uspješno prosljeđuje putem preglednika našoj web-usluzi i našoj metodi i zato dobivamo ispravnu odgovarajuću vrijednost "Queues" u pregledniku.
- Zatim iskoristimo našu web uslugu izvršavanjem scenarija u nastavku. Za ovo morate instalirati alat koji se zove "Fiddler” koji je besplatni alat koji se može preuzeti sa stranice.
POST Tutorial/Tutorialname – Kada klijent pozove ovaj Restful API, klijent će poslati zahtjev za umetanje Tutorialnamea. Web-usluga će zatim dodati naziv podnesenog vodiča u kolekciju.
Pokrenite alat Filddler i izvršite korake u nastavku;
- Idite na odjeljak skladatelja. Ovo se koristi za stvaranje zahtjeva koji se mogu poslati bilo kojoj web-aplikaciji.
- Provjerite je li vrsta zahtjeva "POST" i je li pogođen točan URL, što bi u našem slučaju trebalo biti http://localhost:52645/TutorialService.svc/Tutorial
- Provjerite je li Content-Type označen kao application/json. Imajte na umu da naša POST metoda zahtjeva u našoj web-usluzi prihvaća samo podatke u stilu json pa moramo osigurati da je to navedeno kada šaljemo zahtjev našoj aplikaciji.
- Na kraju, moramo unijeti naše podatke. Upamtite da naša metoda za POST prihvaća parametar pod nazivom 'str.' Dakle, ovdje specificiramo da želimo dodati vrijednost pod nazivom "Drveće" u našu kolekciju naziva vodiča i osigurati da je označena imenom str varijable.
Na kraju samo kliknite gumb Izvrši u fiddleru. Ovo će web servisu poslati zahtjev za OBJAVLJIVANJE podataka "Drveće" na naš web servis.
Sada, kada pregledavamo URL vodiča da bismo prikazali sve nizove na našem popisu vodiča, sada ćete vidjeti da je prisutna i vrijednost "Drveće". Ovo pokazuje da je POST zahtjev web servisu uspješno izvršen i da je uspješno dodan na našu Popis vodiča.
- Zatim iskoristimo našu web uslugu izvršavanjem scenarija u nastavku. Za ovo također trebamo koristiti alat fiddler
DELETE Tutorial/Tutorialid - Kada klijent pozove ovaj Restful API, klijent će poslati zahtjev za brisanje Tutorialname na temelju Tutorialid. Web-usluga će zatim izbrisati poslani naziv vodiča iz zbirke.
Pokrenite alat Filddler i izvršite korake u nastavku
- Idite na odjeljak skladatelja. Ovo se koristi za stvaranje zahtjeva koji se mogu poslati bilo kojoj web-aplikaciji.
- Provjerite je li vrsta zahtjeva "DELETE" i je li pogođen ispravan URL, što bi u našem slučaju trebalo biti http://localhost:52645/TutorialService.svc/Tutorial. Provjerite je li ID koji se koristi za brisanje niza na popisu poslan putem URL-a kao parametar. U našem REST primjeru, šaljemo 1 tako da će ovo izbrisati 2nd element u našoj kolekciji koji je "Queues".
Na kraju samo kliknite gumb Izvrši u fiddleru. Ovo će web servisu poslati zahtjev za IZBRIŠANJE podataka "Redovi čekanja" na našem web servisu.
Sada, kada pregledavamo URL vodiča kako bismo prikazali sve nizove na našem popisu vodiča, primijetit ćete da vrijednost "Redovi čekanja" više nije prisutna.
Ovo pokazuje da je DELETE zahtjev web servisu uspješno izvršen. Element pod indeksom broj 1 na našem popisu nizova vodiča uspješno je izbrisan.
Rezime
- REST je kratica za REpresentational State Transfer. REST se koristi za izradu web usluga koje su lagane, održavane i skalabilne.
- Sve više i više aplikacija prelazi na Restful arhitekturu. To je zato što sada puno ljudi koristi mobilne uređaje i veći izbor aplikacija koje se sele u oblak.
- Glavni aspekti REST-a su resursi koji se nalaze na poslužitelju i glagoli GET, POST, PUT i DELETE, koji se mogu koristiti za rad s tim resursima.
- Visual Studio i .Net mogu se koristiti za stvaranje Restful web usluga.
- Kada Ispitivanje web usluge za POST i PUT, morate koristiti drugi alat koji se zove fiddler koji se može koristiti za slanje POST i PUT zahtjeva poslužitelju.