Vodič za RESTful web usluge s primjerom REST API-ja

Sadržaj:

Anonim

Što su Internet usluge Restful?

Restful Web Services lagana je, održiva i skalabilna usluga koja je izgrađena na REST arhitekturi. Restful Web Service, izložite API iz svoje aplikacije na siguran, ujednačen način bez državljanstva pozivajućem klijentu. Klijent koji poziva može izvršiti unaprijed definirane operacije pomoću usluge Restful. Temeljni protokol za REST je HTTP. REST je skraćenica od Representational State Transfer.

U ovom vodiču za REST API naučit ćete-

  • OSTALI ključni elementi
  • Mirne metode
  • Zašto miran
  • Mirna arhitektura
  • RestFul principi i ograničenja
  • Stvorite svoju prvu web uslugu Restful u ASP.NET
  • Pokretanje vaše prve web usluge Restful
  • Testiranje vaše prve web usluge Restful

OSTALI ključni elementi

REST web usluge zaista su prevalile velik put od svog osnutka. 2002. godine web konzorcij objavio je definiciju WSDL i SOAP web usluga. To je formiralo standard implementacije web usluga.

2004. godine web konzorcij objavio je i definiciju dodatnog standarda pod nazivom RESTful. Tijekom posljednjih nekoliko godina ovaj je standard postao prilično popularan. Koriste ga i mnoge popularne web stranice širom svijeta koje uključuju Facebook i Twitter.

REST je način za pristup resursima koji se nalaze u određenom okruženju. Na primjer, mogli biste imati poslužitelj na kojem se mogu nalaziti važni dokumenti, slike ili videozapisi. Sve su to primjeri resursa. Ako klijent, recimo da 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 implementacije RESTful-a su sljedeći:

  1. Resursi - prvi ključni element su sami resursi. Pretpostavimo da web aplikacija na poslužitelju ima evidenciju nekoliko zaposlenika. Pretpostavimo da je URL web aplikacije http://demo.guru99.com . Sada da biste pristupili resursima zapisa zaposlenika putem REST usluga, možete izdati naredbu http://demo.guru99.com/employee/1 - Ova naredba poručuje web poslužitelju da navede detalje zaposlenika čiji je broj zaposlenika 1.

  2. Zahtjev za glagole - Oni opisuju što želite učiniti s resursom. Preglednik izdaje GET glagol kako bi uputio krajnju točku koja želi dobiti podatke. Međutim, dostupni su mnogi drugi glagoli, uključujući stvari poput POST, PUT i DELETE. Dakle, u slučaju primjera http://demo.guru99.com/employee/1 , web preglednik zapravo izdaje GET Verb jer želi dobiti detalje o evidenciji zaposlenika.

  3. Zaglavlja zahtjeva - Ovo su dodatne upute poslane uz zahtjev. Oni mogu definirati vrstu potrebnog odgovora ili detalje autorizacije.

  4. Tijelo zahtjeva - podaci se šalju uz zahtjev. Podaci se obično šalju u zahtjevu kada se POST zahtjev pošalje na REST web usluge. U POST pozivu, klijent zapravo govori REST web uslugama da želi dodati resurs na poslužitelj. Stoga bi tijelo zahtjeva imalo detalje resursa koji je potreban za dodavanje na poslužitelj.

  5. Tijelo odgovora - Ovo je glavno tijelo odgovora. Dakle, u našem primjeru RESTful API-ja, ako bismo postavili upit web poslužitelju putem zahtjeva http://demo.guru99.com/employee/1 , web poslužitelj bi mogao vratiti XML dokument sa svim detaljima zaposlenika u odgovoru Tijelo.

  6. Kodovi statusa odgovora - Ovi su kodovi opći kodovi koji se vraćaju zajedno s odgovorom s web poslužitelja. Primjer je kod 200 koji se obično vraća ako ne dođe do pogreške prilikom vraćanja odgovora klijentu.

Mirne metode

Dijagram u nastavku prikazuje uglavnom sve glagole (POST, GET, PUT i DELETE) i REST API primjer onoga što bi značili.

Pretpostavimo da na tom mjestu imamo definiranu RESTful web uslugu. http://demo.guru99.com/employee . Kada klijent uputi bilo koji zahtjev ovoj web usluzi, može odrediti bilo koji od uobičajenih HTTP glagola GET, POST, DELETE i PUT. U nastavku slijedi što bi se dogodilo da klijent pošalje odgovarajuće glagole.

  1. POST - To bi se koristilo za stvaranje novog zaposlenika pomoću web usluge RESTful
  2. GET - Ovo će se koristiti za dobivanje popisa svih zaposlenika koji koriste RESTful web uslugu
  3. PUT - Ovo bi se koristilo za ažuriranje svih zaposlenika pomoću web-usluge RESTful
  4. IZBRIŠI - 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 svoja značenja.

  1. POST - To ne bi bilo primjenjivo jer dohvaćamo podatke zaposlenika 1 koji su već stvoreni.
  2. GET - Ovo bi se koristilo za dobivanje podataka o zaposleniku sa Zaposlenikom br. 1 pomoću web usluge RESTful
  3. PUT - Ovo će se koristiti za ažuriranje podataka o zaposleniku sa Zaposlenikom br. 1 pomoću web usluge RESTful
  4. IZBRIŠI - Koristi se za brisanje podataka o zaposleniku sa Zaposlenikom br. 1

Zašto miran

Restful je uglavnom postao popularan iz sljedećih razloga:

  1. Heterogeni jezici i okolina - To je jedan od temeljnih razloga koji je isti kao što smo vidjeli i za SOAP.
  • Omogućuje međusobnu komunikaciju web aplikacija koje su izgrađene na raznim programskim jezicima
  • Uz pomoć usluga Restful, ove web aplikacije mogu se nalaziti u različitim okruženjima, neke mogu biti u sustavu Windows, a druge na Linuxu.

Ali na kraju, bez obzira u kakvoj je okolini krajnji rezultat uvijek trebao biti isti da bi mogli međusobno razgovarati. Veličarstvene web usluge nude ovu fleksibilnost aplikacijama izgrađenim na raznim programskim jezicima i platformama za međusobno razgovore.

Slika dolje daje primjer web aplikacije koja ima zahtjev za razgovorom s drugim aplikacijama poput Facebooka, Twittera i Googlea.

Sad, ako bi klijentska aplikacija morala raditi sa web lokacijama poput Facebooka, Twittera itd., Vjerojatno bi morali znati na kojem su jeziku Facebook, Google i Twitter izgrađeni, kao i na kojoj su platformi izgrađeni.

Na temelju toga možemo napisati kôd za povezivanje naše web aplikacije, 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 da poziva ove web usluge putem REST-a.

  1. Događaj uređaja - U današnje vrijeme sve treba raditi na mobilnim uređajima, bilo da se radi o mobilnom uređaju, prijenosnicima ili čak sustavima automobila.

    Možete li zamisliti koliki je trud u pokušaju kodiranja aplikacija na tim uređajima za razgovor s uobičajenim web aplikacijama? Opet Restful API-ji mogu ovaj posao učiniti jednostavnijim jer, kao što je spomenuto u točki br. 1, stvarno ne morate znati koji je temeljni sloj uređaja.

  2. Napokon je događaj Oblaka - Sve se seli u oblak. Aplikacije se polako premještaju na sustave zasnovane na oblaku, poput Azurea ili Amazona. Azure i Amazon nude puno API-ja temeljenih na arhitekturi Restful. Stoga aplikacije sada treba razvijati na takav način da budu kompatibilne s Cloudom. Dakle, budući da sve arhitekture zasnovane na oblaku rade na principu REST, ima smisla da se web usluge programiraju na arhitekturi zasnovanoj na uslugama REST kako bi najbolje iskoristile usluge temeljene na oblaku.

Mirna arhitektura

Aplikacija ili arhitektura koja se smatra RESTful ili REST stilom ima sljedeće značajke

  1. Stanje i funkcionalnost podijeljeni su u distribuirane resurse - To znači da bi svaki resurs trebao 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 željeli izbrisati datoteku s poslužitelja, izdaju zahtjev DELETE.
  2. Arhitektura je klijent / poslužitelj, bez stanja, slojevita i podržava predmemoriranje -
  • Klijent-poslužitelj tipična je arhitektura u kojoj poslužitelj može biti web poslužitelj koji hostira aplikaciju, a klijent može biti jednostavan poput web preglednika.
  • Bez državljanstva 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 podaci o brisanju proslijediti sljedećem zahtjevu.

    Da biste osigurali brisanje resursa, morat ćete izdati GET zahtjev. Zahtjev GET koristi 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 detaljno obrazložene u nastavku. Bilo koja web usluga RESTful mora biti u skladu sa sljedećim karakteristikama kako bi se mogla nazvati RESTful. Te su karakteristike poznate i kao principi dizajna kojih se treba pridržavati u radu s uslugama temeljenim na RESTful-u.

  1. RESTFul klijentski poslužitelj

Ovo je najosnovniji zahtjev arhitekture zasnovane na REST-u. To znači da će poslužitelj imati RESTful web uslugu koja će klijentu pružiti potrebnu funkcionalnost. Klijent šalje zahtjev web usluzi na poslužitelju. Poslužitelj bi ili odbio zahtjev ili bi ga udovoljio i pružio adekvatan odgovor klijentu.

  1. Bez državljanstva

Koncept apatridnosti znači da je na klijentu da osigura da se svi potrebni podaci dostavljaju poslužitelju. To je potrebno kako bi poslužitelj mogao na odgovarajući način obraditi odgovor. Poslužitelj ne bi trebao održavati bilo kakve informacije između zahtjeva klijenta. To je vrlo jednostavna neovisna sekvenca pitanje-odgovor. Klijent postavlja pitanje, a poslužitelj odgovara na njega. Klijent će postaviti još jedno pitanje. Poslužitelj se neće sjećati prethodnog scenarija odgovora na pitanje i morat će odgovoriti na novo pitanje samostalno.

  1. Predmemorija

Koncept predmemorije pomaže u rješavanju problema apatrida koji je opisan u posljednjoj točki. Budući da je svaki zahtjev klijenta poslužitelja neovisan po svojoj prirodi, ponekad klijent može ponovo zatražiti poslužitelj za isti zahtjev. To je iako je to već tražilo u prošlosti. Ovaj će zahtjev ići na poslužitelj, a poslužitelj će dati odgovor. To povećava promet na mreži. Predmemorija je koncept implementiran na klijentu za pohranu zahtjeva koji su već poslani na poslužitelj. Dakle, ako isti zahtjev da klijent, umjesto da ide na poslužitelj, on će otići u predmemoriju i dobiti potrebne informacije. To štedi količinu mrežnog prometa od klijenta do poslužitelja.

  1. Slojeviti sustav

Koncept slojevitog sustava je da bilo koji dodatni sloj, poput međuprogramskog sloja, može biti umetnut između klijenta i stvarnog poslužitelja koji hostuje RESTFul web uslugu (Međuprogramski sloj je mjesto na kojem se stvara sva poslovna logika. To može biti dodatna usluga stvoren s kojim bi klijent mogao komunicirati prije nego što pozove web uslugu.). Ali uvođenje ovog sloja mora biti transparentno kako ne bi remetilo interakciju između klijenta i poslužitelja.

  1. Sučelje / Jedinstveni ugovor

Ovo je temeljna tehnika kako RESTful web usluge trebaju raditi. RESTful u osnovi radi na HTTP web sloju i koristi donje ključne glagole za rad s resursima na poslužitelju

  • POST - Da biste stvorili resurs na poslužitelju
  • GET - za dohvaćanje resursa s poslužitelja
  • PUT - Da biste promijenili stanje resursa ili ga ažurirali
  • IZBRIŠI - Za uklanjanje ili brisanje resursa s poslužitelja

Stvorite svoju prvu web uslugu Restful u ASP.NET

Sada ćemo u ovom vodiču za REST API naučiti kako stvoriti web uslugu Restful u ASP.NET:

Web usluge mogu se kreirati na raznim jezicima. Mnoga integrirana razvojna okruženja mogu se koristiti za stvaranje usluga temeljenih na REST-u.

U ovom primjeru API-ja RESTful stvorit ćemo našu aplikaciju REST u .Netu pomoću Visual Studija. U našem primjeru, za web usluge Restful oponašat ć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 za osnivanje tvrtke koja izlaže Vodiče koji imaju na temelju Tutorialida.

Tutorialid Ime vodiča
0 Nizovi
1 Redovi
2 Stogovi

U našem primjeru udžbenika za REST API, implementirat ćemo dolje pomirljive glagole.

  1. GET Tutorial - Kada klijent pozove ovaj Restful API, dat će mu se čitav set Vodiča dostupnih na web usluzi.
  2. GET Tutorial / Tutorialid - Kad se klijent pozove na ovaj Restful API, dobit će naziv Vodiča na temelju Tutorialida koji je poslao klijent.
  3. POST Tutorial / Tutorialname - Kada se klijent pozove na ovaj Restful API, klijent će poslati zahtjev za umetanje naziva vodiča. Web usluga će zatim dodati poslani naziv vodiča u zbirku.
  4. DELETE Tutorial / Tutorialid - Kada se klijent pozove na ovaj Restful API, klijent će podnijeti zahtjev za brisanje naziva vodiča na temelju Tutorialida. Tada će web usluga izbrisati poslani naziv vodiča iz zbirke.

Slijedimo korake u nastavku u ovom vodiču za RESTful API kako bismo stvorili naše prve RESTful web usluge, koje provode gornju implementaciju.

Korak 1) Prvi korak je stvaranje prazne web aplikacije Asp.Net. U Visual Studio 2013 kliknite opciju izbornika Datoteka-> Novi projekt.

Jednom kada kliknete opciju Novi projekt, Visual Studio će vam dati još jedan dijaloški okvir za odabir vrste projekta i davanje potrebnih detalja o projektu. To je objašnjeno u sljedećem koraku ovog vodiča za API RESTful

Korak 2) U ovom koraku,

  1. Svakako prvo odaberite RESTful web usluge C # web predložak ASP.NET web aplikacije. Projekt mora biti ove vrste da bi se stvorio projekt web usluga. Odabirom ove opcije Visual Studio će zatim izvršiti potrebne korake za dodavanje potrebnih datoteka koje zahtijeva bilo koja web-aplikacija.
  2. Navedite ime za svoj projekt koji je u našem slučaju dobio naziv "Webservice.REST".
  3. Zatim osigurajte mjesto na kojem će se pohraniti datoteke projekta.

Nakon završetka vidjet ćete datoteku projekta stvorenu u vašem istraživaču rješenja u Visual Studio 2013.

Korak 3) Sljedeći korak je stvaranje datoteke web usluge koja će imati RESTful web uslugu

  1. Prvo desnom tipkom miša kliknite datoteku projekta kao što je prikazano u nastavku
  1. U ovom koraku,
    1. Desnom tipkom miša kliknite datoteku projekta
    2. Odaberite opciju "Dodaj-> nova stavka."

U dijaloškom okviru koji se pojavi trebate napraviti sljedeće

  1. Odaberite opciju WCF usluge (s omogućenim Ajaxom) - Odaberite datoteku ove vrste, zbog čega će Visual studio dodati osnovni kôd koji pomaže stvoriti RESTful web uslugu. WCF je kratica od Windows Communication Foundation. WCF je knjižnica za aplikacije različitih platformi ili iste platforme za komunikaciju putem različitih protokola kao što su TCP, HTTP, HTTPS. Ajax je u osnovi asinkroni JavaScript i XML. AJAX omogućuje ažuriranje web stranica asinkrono razmjenom malih količina podataka s poslužiteljem iza scene.
  2. Zatim navedite naziv usluge koja je u našem slučaju TutorialService.
  3. Na kraju, kliknite gumb Dodaj da biste uslugu dodali u rješenje.

Korak 4) Sljedeći je korak zapravo napraviti promjenu konfiguracije kako bi ovaj projekt mogao dovršiti rad s RESTful web uslugama. To zahtijeva promjenu datoteke koja se naziva Web.config . Ova se datoteka pojavljuje u istom prozoru kao i datoteka projekta Webservice. Datoteka Web.config sadrži sve konfiguracije zbog kojih web aplikacija radi kako treba. Izmjena koja je napravljena zapravo omogućuje aplikaciji slanje i primanje podataka kao čistu RESTful web uslugu.

  1. Kliknite datoteku Web.config da biste otvorili kôd
  1. Pronađi redak
  1. Promijenite redak u

Korak 5) Sljedeći korak u ovom vodiču za RESTful API je dodavanje našeg koda za implementaciju. Sav dolje navedeni kod mora biti zapisan u datoteku TutorialService.svc

  1. Prvi bit je dodavanje koda koji predstavlja naše podatke koji će se koristiti u našem programu. Tako ćemo imati popis varijabli niza s vrijednostima "Nizovi", "Redovi čekanja" i "Stogovi". Ovo će predstavljati ime vodiča dostupno putem naše web usluge hostinga.
namespace Webservice.REST{[ServiceContract(Namespace = "")][AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowedpublic class TutorialService{private static List  lst = new List  (new String[] {"Arrays","Queues","Stacks"});  

Korak 6) Zatim ćemo definirati kod za našu GET metodu. Ovaj kod također će se nalaziti u istoj datoteci TutorialService.svc. Ovaj će se kôd pokretati kad god uslugu pozovemo iz našeg preglednika.

Za ispunjavanje dolje spomenutog scenarija koristit će se donja metoda

  • Ako korisnik želi popis svih vodiča koji su dostupni, tada bi za to trebao biti napisan donji kôd.
[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: -

  1. Prvi redak koda je najvažniji. Koristi se za definiranje kako ovu metodu možemo nazvati putem URL-a. Dakle, ako je veza do naše web usluge http: // localhost: 52645 / TutorialService.svc i ako dodamo '/ Tutorial' URL-u kao http: // localhost: 52645 / TutorialService.svc / Tutorial , gornji kod bit će pozvan. Atribut 'WebGet' je parametar koji omogućava da ova metoda bude RESTful metoda kako bi se mogla pozvati putem GET glagola.
  2. Ovaj odjeljak koda koristi se za pregled našeg popisa nizova u varijabli 'lst' i vraćanje svih u pozivni program.

Korak 7) Kôd u nastavku osigurava da će, ako se uputi GET poziv Tutorial Service-u s ID-om Tutorial-a, vratiti odgovarajuće Ime Tutorial-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: -

  1. Prvi redak koda je najvažniji. Koristi se za definiranje kako ovu metodu možemo nazvati putem URL-a. Dakle, ako je veza do naše web usluge http: // localhost: 52645 / TutorialService.svc i ako dodamo '/ Tutorial / {Tutorialid}' URL-u, tada ćemo web stranicu moći nazvati kao http: //localhost:52645/TutorialService.svc/Tutorial/1 kao primjer. Tada bi web usluga trebala vratiti naziv vodiča s ID-om vodiča br. 1.
  2. Ovaj odjeljak koda koristi se za vraćanje "naziva vodiča" kojemu je ID vodiča proslijeđen web metodi.
  • Prema zadanim postavkama, potrebno je upamtiti da je sve što se proslijedi URL-u u pregledniku niz.
  • Ali morate imati na umu da indeks na našem popisu mora biti cijeli broj, pa dodajemo potreban kod za prvo pretvaranje Tutorialida u cijeli broj, a zatim ga koristimo za pristup položaju indeksa na našem popisu i
  • Zatim vratite vrijednost pozivu u skladu s tim.

Korak 8) Sljedeći korak je zapisivanje koda za našu POST metodu. Ova će se metoda pozivati ​​kad god želimo dodati vrijednost niza na naš popis Vodiča putem POST metode. Na primjer, ako želite dodati naziv vodiča "Ispitivanje softvera", tada ćete trebati koristiti POST metodu.

Objašnjenje koda: -

  1. Prvi redak je atribut 'WebInvoke' koji je pridružen našoj metodi. To omogućuje pozivanje metode putem poziva POST. Atribut RequestFormat i ResponseFormat moraju se spomenuti kao JSON, jer prilikom objavljivanja vrijednosti na RESTFul web uslugu, vrijednosti moraju biti u ovom formatu.
  2. Drugi redak koda koristi se za dodavanje vrijednosti niza proslijeđenog putem poziva POST na naš postojeći popis nizova Tutorial.

Korak 9) Napokon ćemo dodati našu metodu za rukovanje operacijom DELETE. Ova će se metoda pozivati ​​kad god želimo izbrisati postojeću vrijednost niza s popisa Vodiča putem metode DELETE.

[WebInvoke(Method = "DELETE", RequestFormat = WebMessageFormat.Ison,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: -

  1. Prvi redak je atribut 'WebInvoke' koji je pridružen našoj metodi. To omogućuje pozivanje metode putem poziva POST. Atribut RequestFormat i ResponseFormat moraju se spomenuti kao JSON, jer prilikom objavljivanja vrijednosti na RESTFul web uslugu, vrijednosti moraju biti u ovom formatu. Imajte na umu da je parametar Method postavljen na "DELETE". To znači da će se ova metoda pozivati ​​kad god izdajemo glagol DELETE.
  2. Drugi redak koda koristi se za preuzimanje Tutorialida poslanog putem poziva DELETE i naknadno brisanje tog ID-a s našeg popisa. (Funkcija Int32 u kodu koristi se za pretvaranje ID-a vodiča iz varijable niza u cijeli broj).

Pokretanje vaše prve web usluge Restful

Sad kad smo stvorili cjelokupnu web uslugu u gornjem odjeljku. Pogledajmo kako možemo pokrenuti uslugu Tutorial tako da se na nju može pozvati bilo koji klijent.

Da biste pokrenuli web uslugu, slijedite korake u nastavku

Korak 1) Desnom tipkom miša kliknite datoteku projekta - Webservice.REST

Korak 2) Odaberite opciju izbornika "Postavi kao startup projekt". To će osigurati pokretanje ovog projekta kada Visual Studio pokrene cjelokupno rješenje

Korak 3) Sljedeći korak je pokretanje samog projekta. Sada, ovisno o zadanom pregledniku instaliranom na sustavu, odgovarajuće ime preglednika pojavit će se pored gumba za pokretanje u Visual Studiju. U našem se slučaju pojavljuje Google Chrome. Samo kliknite ovaj gumb.

Izlaz:-

Kada se projekt pokrene, možete pregledati odjeljak TutorialService.svc / Tutorial i dobit ćete donji izlaz.

U gornjem izlazu,

  • Možete vidjeti da preglednik poziva web stranicu na glagol 'GET' i izvršava metodu 'GetAllTutorial'. Ovaj se modul koristi za prikaz svih vodiča koje je izložila naša web usluga.

Testiranje vaše prve web usluge Restful

U gornjem smo odjeljku već vidjeli kako koristiti preglednik za izvršavanje glagola 'GET' i pozivanje na 'GetAllTutorial'.

  1. Upotrijebimo sada preglednik za izvršavanje sljedećeg scenarija upotrebe.

GET Tutorial / Tutorialid - Kada se klijent pozove na ovaj Restful API, dobit će naziv Vodiča na temelju Tutorialida koji je poslao klijent

U svoj preglednik dodajte niz / 1 nakon riječi Tutorial u URL-u. Ako pritisnete tipku enter, dobit ćete donji izlaz

Sada ćete vidjeti izlaz Redova koji zapravo odgovara broju 1 na našem popisu nizova tutorijala. To znači da se metoda 'GetTutorialbyID' sada poziva iz naše web usluge. To također pokazuje da se vrijednost 1 putem preglednika uspješno prenosi na našu web uslugu i na našu metodu i zato u pregledniku dobivamo ispravnu odgovarajuću vrijednost "Redovi čekanja".

  1. Dalje, konzumirajmo našu web uslugu izvršavanjem donjeg scenarija. Za to morate instalirati alat nazvan "Fiddler" koji je besplatni alat za preuzimanje s web mjesta.

POST Tutorial / Tutorialname - Kada se klijent pozove na ovaj Restful API, klijent će poslati zahtjev za umetanje naziva vodiča. Web usluga će zatim dodati poslani naziv vodiča u zbirku.

Pokrenite alat Filddler i izvedite korake u nastavku;

  1. Idite na odjeljak za skladatelje. To se koristi za stvaranje zahtjeva koji se mogu poslati na bilo koju mrežu

    primjena.

  2. Provjerite je li vrsta zahtjeva "POST" i da li se pogađa točan URL, koji bi u našem slučaju trebao biti http: // localhost: 52645 / TutorialService.svc / Tutorial
  3. Provjerite je li Content-Type označen kao application / json. Imajte na umu da naša metoda POST zahtjeva u našoj web usluzi prihvaća samo podatke u stilu json, tako da moramo biti sigurni da je to navedeno kada šaljemo zahtjev našoj aplikaciji.
  4. Napokon, trebamo unijeti svoje podatke. Imajte na umu da naša metoda za POST prihvaća parametar nazvan 'str.' Dakle, ovdje preciziramo da želimo dodati vrijednost koja se naziva "Drveće" u našu zbirku imena Vodiča i osigurati da je označena imenom str varijable.

Konačno, samo kliknite gumb Izvrši u fiddleru. Ovo će poslati zahtjev web usluzi za POSTANJE podataka "Drveće" na našu web uslugu.

Sada, kada pregledamo URL vodiča kako bismo prikazali sve nizove na našem popisu vodiča, vidjet ćete da je vrijednost "Drveće" također prisutna. To pokazuje da je POST zahtjev za web uslugom uspješno izvršen i da je uspješno dodan na naš popis vodiča.

  1. Dalje, konzumirajmo našu web uslugu izvršavanjem donjeg scenarija. Za to također trebamo koristiti alat za guslere

DELETE Tutorial / Tutorialid - Kada se klijent pozove na ovaj Restful API, klijent će podnijeti zahtjev za brisanje naziva vodiča na temelju Tutorialida. Tada će web usluga izbrisati poslani naziv vodiča iz zbirke.

Pokrenite alat Filddler i izvedite korake u nastavku

  1. Idite na odjeljak za skladatelje. To se koristi za stvaranje zahtjeva koji se mogu poslati na bilo koju mrežu

    primjena.

  2. Provjerite je li vrsta zahtjeva "IZBRIŠI" i pogađa li se točan URL, koji bi u našem slučaju trebao biti http: // localhost: 52645 / TutorialService.svc / Tutorial . Osigurajte da je id koji se koristi za brisanje niza s popisa poslanog putem URL-a kao parametar. U našem primjeru REST šaljemo 1 pa će se time izbrisati 2. element u našoj zbirci koji je "Redovi čekanja".

Konačno, samo kliknite gumb Izvrši u fiddleru. Ovim ćete poslati zahtjev web usluzi da IZBRIŠI podatke "Redovi" našoj web usluzi.

Sada, kada pregledamo URL vodiča kako bismo prikazali sve nizove na našem popisu vodiča, primijetit ćete da vrijednost "Redovi čekanja" više nije prisutna.

To pokazuje da je zahtjev DELETE za web uslugu uspješno izvršen. Element na indeksu br. 1 na našem popisu nizova vodiča uspješno je izbrisan.

Sažetak

  • REST je skraćenica od Representational State Transfer. REST se koristi za izradu web usluga koje su lagane, održive i skalabilne prirode.
  • Sve više i više aplikacija prelazi na arhitekturu Restful. To je zato što puno ljudi sada koristi mobilne uređaje i širi spektar aplikacija koje se premještaju 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 web usluga Restful.
  • Kada testirate web usluge za POST i PUT, trebate koristiti drugi alat nazvan fiddler koji se može koristiti za slanje POST i PUT zahtjeva na poslužitelj.