Tutorial Servicii Web RESTful: Ce este API-ul REST cu Exemplu

Ce este Restful Web Services?

Servicii web odihnitoare este un serviciu ușor, ușor de întreținut și scalabil, care este construit pe arhitectura REST. Serviciu web odihnitor, expuneți API-ul din aplicația dvs. într-o manieră sigură, uniformă și fără stat clientului care apelează. Clientul care apelează poate efectua operațiuni predefinite folosind serviciul Restful. Protocolul de bază pentru REST este HTTP. REST reprezintă transferul de stat reprezentativ.

Elemente cheie RESTful

Serviciile web REST au parcurs cu adevărat un drum lung de la începuturile sale. În 2002, consorțiul Web a lansat definiția serviciilor web WSDL și SOAP. Acesta a format standardul modului în care sunt implementate serviciile web.

În 2004, consorțiul web a lansat și definiția unui standard suplimentar numit RESTful. În ultimii doi ani, acest standard a devenit destul de popular. Și este folosit de multe dintre site-urile web populare din întreaga lume, care includ Facebook și Twitter.

REST este o modalitate de a accesa resursele care se află într-un anumit mediu. De exemplu, ați putea avea un server care ar putea găzdui documente importante sau imagini sau videoclipuri. Toate acestea sunt un exemplu de resurse. Dacă un client, să zicem un browser web, are nevoie de oricare dintre aceste resurse, trebuie să trimită o solicitare serverului pentru a accesa aceste resurse. Acum, serviciile REST definesc o modalitate prin care aceste resurse pot fi accesate.

Elementele cheie ale unei implementări RESTful sunt următoarele:

  1. Resurse – Primul element cheie este resursa în sine. Să presupunem că o aplicație web pe un server are înregistrări ale mai multor angajați. Să presupunem că adresa URL a aplicației web este http://demo.guru99.com. Acum, pentru a accesa o resursă de înregistrare a angajaților prin serviciile REST, se poate lansa comanda http://demo.guru99.com/employee/1 – Această comandă îi spune serverului web să furnizeze detaliile angajatului al cărui număr de angajat este 1.
  2. Cerere verbe – Acestea descriu ce doriți să faceți cu resursa. Un browser emite un verb GET pentru a instrui punctul final pe care dorește să obțină date. Cu toate acestea, există multe alte verbe disponibile, inclusiv lucruri precum POST, PUT și DELETE. Deci, în cazul exemplului http://demo.guru99.com/employee/1 , browserul web emite de fapt un verb GET pentru că dorește să obțină detaliile înregistrării angajaților.
  3. Solicitați anteturi – Acestea sunt instrucțiuni suplimentare trimise odată cu cererea. Acestea pot defini tipul de răspuns necesar sau detaliile de autorizare.
  4. Organismul de solicitare – Datele sunt trimise odată cu cererea. Datele sunt trimise în mod normal în cerere atunci când se face o solicitare POST către serviciile web REST. Într-un apel POST, clientul le spune de fapt serviciilor web REST că dorește să adauge o resursă la server. Prin urmare, corpul cererii ar avea detaliile resursei care trebuie adăugate la server.
  5. Corpul de răspuns – Acesta este corpul principal al răspunsului. Deci, în exemplul nostru de API RESTful, dacă ar fi să interogăm serverul web prin intermediul solicitării http://demo.guru99.com/employee/1 , serverul web poate returna un document XML cu toate detaliile angajatului din Corpul de răspuns.
  6. Codurile de stare de răspuns – Aceste coduri sunt codurile generale care sunt returnate împreună cu răspunsul de la serverul web. Un exemplu este codul 200 care este returnat în mod normal dacă nu există nicio eroare la returnarea unui răspuns către client.

Metode odihnitoare

Diagrama de mai jos arată în principal toate verbele (POST, GET, PUT și DELETE) și un exemplu API REST despre ceea ce ar însemna.

Să presupunem că avem un serviciu web RESTful definit la locație. http://demo.guru99.com/employee . Când clientul face orice cerere către acest serviciu web, poate specifica oricare dintre verbele HTTP normale ale GET, POST, DELETE și PUT. Mai jos este ce s-ar întâmpla dacă verbele respective ar fi trimise de client.

  1. POST – Acesta ar fi folosit pentru a crea un nou angajat folosind serviciul web RESTful
  2. GET – Acesta ar fi folosit pentru a obține o listă a tuturor angajaților care utilizează serviciul web RESTful
  3. PUT – Acesta ar fi folosit pentru a actualiza toți angajații care utilizează serviciul web RESTful
  4. DELETE – Acesta ar fi folosit pentru a șterge toți angajații care utilizează serviciile RESTful

Să aruncăm o privire din perspectiva unei singure înregistrări. Să presupunem că a existat o înregistrare a angajatului cu numărul de angajat 1.

Următoarele acțiuni ar avea semnificațiile lor respective.

  1. POST – Acest lucru nu ar fi aplicabil, deoarece preluăm datele angajatului 1 care sunt deja create.
  2. GET – Acesta ar fi folosit pentru a obține detaliile angajatului cu numărul de angajat ca 1 utilizând serviciul web RESTful
  3. PUT – Acesta ar fi folosit pentru a actualiza detaliile angajatului cu numărul de angajat ca 1 utilizând serviciul web RESTful
  4. DELETE – Acesta este folosit pentru a șterge detaliile angajatului cu numărul de angajat ca 1

Metode odihnitoare

De ce odihnitor

Restful a devenit în mare parte populară din următoarele motive:

1. Limbi și medii eterogene – Acesta este unul dintre motivele fundamentale, care este aceeași pe care am văzut-o SOAP de asemenea.

  • Permite aplicațiilor web care sunt construite pe diferite limbaje de programare să comunice între ele
  • Cu ajutorul serviciilor Restful, aceste aplicații web pot locui în diferite medii, unele ar putea fi activate Windows, iar altele ar putea fi pe Linux.

Dar, în cele din urmă, indiferent de mediul înconjurător, rezultatul final ar trebui să fie întotdeauna același, că ar trebui să poată vorbi între ei. Serviciile web odihnitoare oferă această flexibilitate aplicațiilor construite pe diferite limbaje de programare și platforme pentru a comunica între ele.

Imaginea de mai jos oferă un exemplu de aplicație web care are o cerință de a vorbi cu alte aplicații precum Facebook, Twitter și Google.

Acum, dacă o aplicație client ar trebui să funcționeze cu site-uri precum Facebook, Twitter etc., probabil ar trebui să știe care este limba pe care sunt construite Facebook, Google și Twitter și, de asemenea, pe ce platformă sunt construite.

Pe baza acestui lucru, putem scrie codul de interfață pentru aplicația noastră web, dar acest lucru s-ar putea dovedi a fi un coșmar.

Facebook, Twitter și Google își expun funcționalitatea sub forma serviciilor web Restful. Acest lucru permite oricărei aplicații client să apeleze aceste servicii web prin REST.

Am nevoie de odihnă

2. Evenimentul Dispozitivelor – În zilele noastre, totul trebuie să lucreze Mobil dispozitive, fie că este vorba de dispozitive mobile, notebook-uri sau chiar sisteme auto.

Vă puteți imagina cantitatea de efort depus pentru a încerca și codifica aplicațiile pe aceste dispozitive pentru a vorbi cu aplicațiile web normale? Din nou, API-urile Restful pot face această lucrare mai simplă, deoarece așa cum se menționează la punctul 1, chiar nu trebuie să știți care este stratul de bază pentru dispozitiv.

3. În cele din urmă este evenimentul Cloud – Totul se mută în nor. Aplicațiile se deplasează încet la sisteme bazate pe cloud, cum ar fi în Azure or Amazon. Azure si Amazon oferă o mulțime de API-uri bazate pe arhitectura Restful. Prin urmare, aplicațiile trebuie acum să fie dezvoltate în așa fel încât să fie compatibile cu Cloud. Prin urmare, deoarece toate arhitecturile bazate pe cloud funcționează pe principiul REST, este mai logic ca serviciile web să fie programate pe arhitectura bazată pe servicii REST pentru a utiliza cât mai bine serviciile bazate pe cloud.

Odihnitor Architectură

O aplicație sau arhitectură considerată RESTful sau în stil REST are următoarele caracteristici

1. Starea și funcționalitatea sunt împărțite în resurse distribuite – Aceasta înseamnă că fiecare resursă ar trebui să fie accesibilă prin comenzile HTTP normale ale GET, POST, PUT sau DELETE. Deci, dacă cineva a vrut să obțină un fișier de la un server, ar trebui să poată emite cererea GET și să obțină fișierul. Dacă doresc să pună un fișier pe server, ar trebui să poată lansa cererea POST sau PUT. Și în cele din urmă, dacă au vrut să șterge un fișier de pe server, pot emite cererea DELETE.

2. Arhitectura este client/server, fără stat, stratificată și acceptă stocarea în cache

  • Client-server este arhitectura tipică în care serverul poate fi serverul web care găzduiește aplicația, iar clientul poate fi la fel de simplu ca browserul web.
  • Apatrid înseamnă că starea aplicației nu este menținută în REST. De exemplu, dacă ștergeți o resursă de pe un server utilizând comanda DELETE, nu vă puteți aștepta ca informațiile de ștergere să fie transmise la următoarea cerere.

Pentru a vă asigura că resursa este ștearsă, va trebui să emiteți cererea GET. Solicitarea GET ar fi folosită pentru a obține mai întâi toate resursele de pe server. După care ar trebui să se vadă dacă resursa a fost efectiv ștearsă.

Principii și constrângeri RESTFul

Arhitectura REST se bazează pe câteva caracteristici care sunt elaborate mai jos. Orice serviciu web RESTful trebuie să respecte caracteristicile de mai jos pentru a fi numit RESTful. Aceste caracteristici sunt cunoscute și ca principii de proiectare care trebuie urmate atunci când se lucrează cu servicii bazate pe RESTful.

  1. RESTFul Client-Server

    Principii și constrângeri RESTFul

Aceasta este cea mai fundamentală cerință a unei arhitecturi bazate pe REST. Înseamnă că serverul va avea un serviciu web RESTful care ar oferi clientului funcționalitatea necesară. Clientul trimite o solicitare către serviciul web de pe server. Serverul fie va respinge cererea, fie va respecta și va oferi un răspuns adecvat clientului.

  1. apatrid

Conceptul de apatrid înseamnă că depinde de client să se asigure că toate informațiile necesare sunt furnizate serverului. Acest lucru este necesar pentru ca serverul să poată procesa răspunsul în mod corespunzător. Serverul nu ar trebui să mențină niciun fel de informații între solicitările de la client. Este o secvență independentă de întrebare-răspuns foarte simplă. Clientul pune o întrebare, serverul îi răspunde în mod corespunzător. Clientul va pune o altă întrebare. Serverul nu își va aminti scenariul întrebare-răspuns anterior și va trebui să răspundă independent la noua întrebare.

  1. Cache

Principii și constrângeri RESTFul

Conceptul de cache este de a ajuta cu problema apatridului care a fost descrisă în ultimul punct. Deoarece fiecare cerere de client server este de natură independentă, uneori clientul poate cere din nou serverului aceeași cerere. Asta chiar dacă a cerut-o deja în trecut. Această solicitare va ajunge la server, iar serverul va da un răspuns. Acest lucru crește traficul în rețea. Cache-ul este un concept implementat pe client pentru a stoca cererile care au fost deja trimise la server. Deci, dacă aceeași cerere este dată de client, în loc să meargă la server, acesta ar merge în cache și ar obține informațiile necesare. Acest lucru economisește cantitatea de trafic în rețea de la client la server.

  1. Sistem stratificat

Conceptul unui sistem stratificat este că orice strat suplimentar, cum ar fi un strat de middleware, poate fi inserat între client și serverul real care găzduiește serviciul web RESTFul (Stratul de middleware este locul în care este creată toată logica de afaceri. Acesta poate fi un serviciu suplimentar). creat cu care clientul ar putea interacționa înainte de a efectua un apel către serviciul web.). Dar introducerea acestui strat trebuie să fie transparentă, astfel încât să nu perturbe interacțiunea dintre client și server.

  1. Interfață/Contract uniform

Aceasta este tehnica de bază a modului în care ar trebui să funcționeze serviciile web RESTful. RESTful funcționează practic pe stratul web HTTP și folosește verbele cheie de mai jos pentru a lucra cu resursele de pe server

  • POST – Pentru a crea o resursă pe server
  • GET – Pentru a prelua o resursă de pe server
  • PUT – Pentru a schimba starea unei resurse sau pentru a o actualiza
  • DELETE – Pentru a elimina sau a șterge o resursă de pe server

Creați primul serviciu web Restful în ASP.NET

Acum, în acest tutorial API REST, vom învăța cum să creăm un serviciu web Restful în ASP.NET:

Serviciile web pot fi create într-o varietate de limbi. Multe medii de dezvoltare integrate pot fi folosite pentru a crea servicii bazate pe REST.

În acest exemplu de API RESTful, vom crea aplicația noastră REST în .Net folosind Visual Studio. În exemplul nostru, pentru serviciile web Restful vom emula următorul exemplu de serviciu REST.

Vom avea un serviciu web Restful care va funcționa pe setul de date de mai jos.

Setul de date de mai jos reprezintă un exemplu de API REST de a avea o companie care expune tutorialele pe care le au pe baza Tutorialid.

Tutorialid TutorialName
0 Arrays
1 cozile
2 Stive

În exemplul nostru tutorial API REST, vom implementa verbele odihnitoare de mai jos.

  1. GET Tutorial – Când un client invocă acest API Restful, i se va oferi întregul set de tutoriale disponibile de la serviciul web.
  2. GET Tutorial/Tutorialid – Când un client invocă acest API Restful, i se va da numele Tutorialului pe baza Tutorialid-ului trimis de client.
  3. POST Tutorial/Tutorialname – Când un client invocă acest API Restful, clientul va trimite o solicitare de inserare a unui Tutorialname. Serviciul web va adăuga apoi numele Tutorialului trimis la colecție.
  4. DELETE Tutorial/Tutorialid– Când un client invocă acest API Restful, clientul va trimite o solicitare de ștergere a unui Tutorialname bazat pe Tutorialid. Serviciul web va șterge apoi numele Tutorialului trimis din colecție.

Să urmăm pașii de mai jos în acest tutorial API RESTful pentru a crea primele noastre servicii web RESTful, care realizează implementarea de mai sus.

Cum să creați primul serviciu web odihnitor

Pas 1) Creați un nou proiect.
Primul pas este să creați un gol Asp.Net Aplicație web. Din Visual Studio 2013, faceți clic pe opțiunea de meniu Fișier->Proiect nou.

Creați un serviciu web odihnitor

Odată ce faceți clic pe opțiunea Proiect nou, Visual Studio vă va oferi apoi o altă casetă de dialog pentru a alege tipul de proiect și pentru a oferi detaliile necesare ale proiectului. Acest lucru este explicat în următorul pas al acestui tutorial API RESTful

Pas 2) Introduceți numele și locația proiectului.

  1. Asigurați-vă că alegeți mai întâi serviciile web RESTful C# șablon web al aplicației web ASP.NET. Proiectul trebuie să fie de acest tip pentru a crea un proiect de servicii web. Alegând aceste opțiuni, Visual Studio va efectua apoi pașii necesari pentru a adăuga fișierele necesare care sunt solicitate de orice aplicație bazată pe web.
  2. Dați un nume pentru proiectul dvs., care în cazul nostru a fost dat ca „Webservice.REST”.
  3. Apoi asigurați-vă că oferiți o locație, unde vor fi stocate fișierele de proiect.

Creați un serviciu web odihnitor

Odată terminat, veți vedea fișierul de proiect creat în exploratorul de soluții în Visual Studio 2013.

Creați un serviciu web odihnitor

Pas 3) Creați fișierul serviciului web.
Următorul pas este să creați fișierul serviciului web care va avea serviciul web RESTful

  1. Mai întâi faceți clic dreapta pe fișierul de proiect, așa cum se arată mai jos

Creați un serviciu web odihnitor

  1. În această etapă,
    1. Faceți clic dreapta pe fișierul proiect
    2. Alegeți opțiunea „Adăugați-> element nou”.

Creați un serviciu web odihnitor

În caseta de dialog care apare, trebuie să efectuați următoarele

  1. Alegeți opțiunea Serviciului WCF (activat pentru Ajax) – Alegeți un fișier de acest tip, acesta provoacă Visual studio pentru a adăuga un cod de bază care vă ajută să creați un serviciu web RESTful. WCF înseamnă Windows Comunicare Foundation. WCF este o bibliotecă pentru aplicații de diferite platforme sau aceeași platformă pentru a comunica prin diferite protocoale, cum ar fi TCP, HTTP, HTTPS. Ajax este practic asincron JavaScenariu și XML. AJAX permite paginilor web să fie actualizate asincron prin schimbul de cantități mici de date cu serverul din culise.
  2. Apoi dați un nume pentru serviciu, care este TutorialService în cazul nostru.
  3. În cele din urmă, faceți clic pe butonul Adăugați pentru a adăuga serviciul la soluție.

Creați un serviciu web odihnitor

Pas 4) Faceți o configurație.
Următorul pas este să faceți de fapt o modificare de configurare pentru a permite acestui proiect să lucreze cu serviciile web RESTful. Acest lucru necesită modificarea fișierului numit Web.config. Acest fișier apare în aceeași fereastră cu fișierul proiect Webservice. Fișierul Web.config conține toate configurațiile care fac ca aplicația web să funcționeze așa cum ar trebui. Modificarea efectuată permite aplicației să trimită și să primească date ca un serviciu web RESTful pur.

  1. Faceți clic pe fișierul Web.config pentru a deschide codul

Creați un serviciu web odihnitor

  1. Găsiți pentru linie

Creați un serviciu web odihnitor

  1. Schimbați linia în

Creați un serviciu web odihnitor

Pas 5) Adăugați codul nostru pentru implementare.
Următorul pas în acest tutorial API RESTful este să adăugați codul nostru pentru implementare. Tot codul menționat mai jos trebuie să fie scris în fișierul TutorialService.svc

  1. Primul bit este să adăugați cod pentru a reprezenta datele noastre care vor fi folosite în programul nostru. Deci vom avea o listă de variabile șir cu valorile „Matrice”, „Cozi” și „Stive”. Acesta va reprezenta numele tutorialelor disponibile prin serviciul nostru web de găzduire.

Creați un serviciu web odihnitor

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"});

Pas 6) Definiți codul pentru metoda noastră GET.
În continuare vom defini codul pentru metoda noastră GET. Acest cod va locui și în același fișier TutorialService.svc. Acest cod va rula ori de câte ori apelăm serviciul din browserul nostru.

Metoda de mai jos va fi utilizată pentru a îndeplini scenariul menționat mai jos

  • Dacă un utilizator dorește o listă cu toate tutorialele disponibile, atunci codul de mai jos ar trebui scris pentru a realiza acest lucru.

Creați un serviciu web odihnitor

[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;
}

Explicația codului: -

  1. Prima linie de cod este cea mai importantă. Este folosit pentru a defini cum putem apela această metodă printr-o adresă URL. Deci, dacă linkul către serviciul nostru web este http://localhost:52645/TutorialService.svc iar dacă anexăm „/Tutorial” la adresa URL ca http://localhost:52645/TutorialService.svc/Tutorial , va fi invocat codul de mai sus. Atributul „WebGet” este un parametru care permite acestei metode să fie o metodă RESTful, astfel încât să poată fi invocată prin verbul GET.
  2. Această secțiune de cod este folosită pentru a parcurge lista noastră de șiruri din variabila „lst” și a le returna pe toate programului apelant.

Pas 7) Returnează rezultatul.
Codul de mai jos asigură că, dacă un apel GET este efectuat către Serviciul de tutoriale cu un ID de tutorial, atunci va returna Numele tutorialului corespunzător pe baza ID-ului de tutorial.

Creați un serviciu web odihnitor

[WebGet (UriTemplate = "/Tutorial/{Tutorialid}")]

public String GetTutorialbyID(String Tutorialid)
{
	int pid;
	Int32.TryParse(Tutorialid, out pid);
	return lst[pid];
}

Explicația codului: -

  1. Prima linie de cod este cea mai importantă. Este folosit pentru a defini cum putem apela această metodă printr-o adresă URL. Deci, dacă linkul către serviciul nostru web este http://localhost:52645/TutorialService.svc și dacă adăugăm „/Tutorial/{Tutorialid}” la adresa URL, atunci am putea apela serviciul web ca http://localhost:52645/TutorialService.svc/Tutorial/1 ca exemplu. Serviciul web ar trebui să returneze numele tutorialului care avea ID-ul tutorialului #1.
  2. Această secțiune de cod este folosită pentru a returna „Numele tutorialului” care are ID-ul tutorialului transmis metodei web.
  • În mod implicit, ceea ce trebuie reținut este că orice este transmis la adresa URL în browser este un șir.
  • Dar trebuie să rețineți că indexul listei noastre trebuie să fie un număr întreg, așa că adăugăm codul necesar pentru a converti mai întâi Tutorialid-ul într-un întreg și apoi îl folosim pentru a accesa poziția indexului din lista noastră și
  • Apoi returnați valoarea în programul apelant în consecință.

Pas 8) Scrieți codul pentru metoda POST.
Următorul pas este să scriem codul pentru metoda noastră POST. Această metodă va fi invocată ori de câte ori dorim să adăugăm o valoare șir la lista noastră de tutoriale prin metoda POST. De exemplu, dacă doriți să adăugați numele tutorialului „Testare software”, atunci ar trebui să utilizați metoda POST.

Creați un serviciu web odihnitor

Explicația codului: -

  1. Prima linie este atributul „WebInvoke” care a fost atașat metodei noastre. Acest lucru permite ca metoda să fie invocată prin apelul POST. Atributul RequestFormat și ResponseFormat trebuie menționat ca JSON, deoarece atunci când se postează valori într-un serviciu web RESTFul, valorile trebuie să fie în acest format.
  2. A doua linie de cod este folosită pentru a adăuga valoarea șirului transmisă prin apelul POST la lista noastră existentă de șiruri de tutorial.

Pas 9) Adăugați o metodă pentru a gestiona operația DELETE.
În cele din urmă, vom adăuga metoda noastră pentru a gestiona operația DELETE. Această metodă va fi invocată ori de câte ori dorim să ștergem o valoare de șir existentă din lista noastră de tutoriale prin metoda DELETE.

Creați un serviciu web odihnitor

[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);
}

Explicația codului: -

  1. Prima linie este atributul „WebInvoke” care a fost atașat metodei noastre. Acest lucru permite ca metoda să fie invocată prin apelul POST. Atributul RequestFormat și ResponseFormat trebuie menționat ca JSON, deoarece atunci când se postează valori într-un serviciu web RESTFul, valorile trebuie să fie în acest format. Rețineți că parametrul Metodă este setat la „ȘTERGERE”. Aceasta înseamnă că de fiecare dată când lansăm verbul DELETE, această metodă va fi invocată.
  2. A doua linie de cod este folosită pentru a prelua Tutorialid-ul trimis prin apelul DELETE și, ulterior, pentru a șterge acel id din lista noastră. (Cel Int32 funcția din cod este utilizată pentru a converti ID-ul tutorialului dintr-o variabilă șir într-un număr întreg).

Rularea primului serviciu web Restful

Acum că am creat întregul nostru serviciu web în secțiunea de mai sus. Să vedem cum putem rula serviciul Tutorial astfel încât să poată fi invocat de la orice client.

Pentru a rula serviciul web, urmați pașii de mai jos

Pas 1) Faceți clic dreapta pe fișierul Proiect – Webservice.REST

Rularea serviciului web Restful

Pas 2) Alegeți opțiunea de meniu „Set as StartUp Project”. Acest lucru va asigura că acest proiect este rulat atunci când Visual Studio rulează întreaga soluție

Rularea serviciului web Restful

Pas 3) Următorul pas este derularea proiectului în sine. Acum, în funcție de browserul implicit instalat pe sistem, numele corespunzător de browser va apărea lângă butonul de rulare din Visual Studio. În cazul nostru, avem Google Chrome apărând. Doar faceți clic pe acest buton.

Rularea serviciului web Restful

Ieșire: -

Când proiectul este rulat, puteți naviga la secțiunea dvs. TutorialService.svc/Tutorial și veți obține rezultatul de mai jos.

Rularea serviciului web Restful

În rezultatul de mai sus,

  • Puteți vedea că browserul invocă verbul „GET” și execută metoda „GetAllTutorial” în serviciul web. Acest modul este folosit pentru a afișa toate tutorialele expuse de serviciul nostru web.

Testarea primului serviciu web Restful

În secțiunea de mai sus, am văzut deja cum să folosim browserul pentru a executa verbul „GET” și a invoca „GetAllTutorial”.

  1. Să folosim acum browserul pentru a executa următorul scenariu de caz de utilizare.

GET Tutorial/Tutorialid – Când un client invocă acest API Restful, i se va da numele Tutorialului pe baza Tutorialid-ului trimis de client

În browser, adăugați șirul /1 după cuvântul Tutorial în adresa URL. Dacă apăsați butonul Enter, veți obține rezultatul de mai jos

Testarea Serviciului Web Restful

Acum veți vedea rezultatul Cozilor care corespunde de fapt cu numărul 1 din lista noastră de șiruri de tutorial. Aceasta înseamnă că metoda „GetTutorialbyID” este acum invocată din serviciul nostru web. De asemenea, arată că valoarea lui 1 este transmisă cu succes prin browser către serviciul nostru web și către metoda noastră și de aceea obținem valoarea corectă corespunzătoare a „Cozi” în browser.

  1. În continuare, să consumăm serviciul nostru web executând scenariul de mai jos. Pentru aceasta, trebuie să instalați instrumentul numit „Fiddler” care este un instrument descărcabil gratuit de pe site.

POST Tutorial/Tutorialname – Când un client invocă acest API Restful, clientul va trimite o solicitare de inserare a unui Tutorialname. Serviciul web va adăuga apoi numele Tutorialului trimis la colecție.

Rulați instrumentul Filddler și efectuați pașii de mai jos;

  1. Accesați secțiunea compozitor. Acesta este folosit pentru a crea cereri care pot fi trimise către orice aplicație web.
  2. Asigurați-vă că tipul de solicitare este „POST” și că adresa URL corectă este accesată, ceea ce în cazul nostru ar trebui să fie http://localhost:52645/TutorialService.svc/Tutorial
  3. Asigurați-vă că Content-Type este marcat ca application/json. Amintiți-vă că metoda noastră de solicitare POST din serviciul nostru web acceptă numai date în stil json, așa că trebuie să ne asigurăm că acest lucru este specificat atunci când trimitem o solicitare către aplicația noastră.
  4. În cele din urmă, trebuie să ne introducem datele. Amintiți-vă că metoda noastră pentru POST acceptă un parametru numit 'str.' Deci, aici specificăm că vrem să adăugăm o valoare numită „Arbori” la colecția noastră de nume de tutorial și să ne asigurăm că este etichetată la numele variabilei str.

În cele din urmă, faceți clic pe butonul Execute în fiddler. Aceasta va trimite o solicitare către serviciul web pentru a POSTĂ datele „Arbori” în serviciul nostru web.

Testarea Serviciului Web Restful

Acum, când navigăm la URL-ul Tutorialului pentru a afișa toate șirurile din lista noastră de Tutoriale, veți vedea acum că valoarea „Trees” este de asemenea prezentă. Aceasta arată că solicitarea POST către serviciul web a fost executată cu succes și că a fost adăugată cu succes la Lista noastră de tutoriale.

Testarea Serviciului Web Restful

  1. În continuare, să consumăm serviciul nostru web executând scenariul de mai jos. Și pentru aceasta trebuie să folosim unealta lăutar

DELETE Tutorial/Tutorialid - Când un client invocă acest API Restful, clientul va trimite o solicitare de ștergere a unui Tutorialname bazat pe Tutorialid. Serviciul web va șterge apoi numele Tutorialului trimis din colecție.

Rulați instrumentul Filddler și efectuați pașii de mai jos

  1. Accesați secțiunea compozitor. Acesta este folosit pentru a crea cereri care pot fi trimise către orice aplicație web.
  2. Asigurați-vă că tipul de solicitare este „ȘTERGERE” și că adresa URL corectă este accesată, ceea ce în cazul nostru ar trebui să fie http://localhost:52645/TutorialService.svc/Tutorial. Asigurați-vă că id-ul care este folosit pentru a șterge un șir din listă este trimis prin adresa URL ca parametru. În exemplul nostru REST, trimitem 1, astfel încât acesta îl va șterge pe 2nd element din colecția noastră care este „Cozi”.

În cele din urmă, faceți clic pe butonul Execute în fiddler. Aceasta va trimite o solicitare către serviciul web pentru a ȘTERGE datele „Cozile” de la serviciul nostru web.

Testarea Serviciului Web Restful

Acum, când navigăm la adresa URL a Tutorialului pentru a afișa toate șirurile din lista noastră de Tutoriale, veți observa că valoarea „Cozi” nu mai este prezentă.

Aceasta arată că solicitarea DELETE către serviciul web a fost executată cu succes. Elementul de la numărul de index 1 din lista noastră de șiruri de tutorial a fost șters cu succes.

Testarea Serviciului Web Restful

Rezumat

  • REST reprezintă transferul de stat reprezentativ. REST este folosit pentru a construi servicii web care sunt de natură ușoară, întreținută și scalabilă.
  • Din ce în ce mai multe aplicații trec la arhitectura Restful. Acest lucru se datorează faptului că există o mulțime de oameni care folosesc acum dispozitive mobile și o varietate mai largă de aplicații care se deplasează în cloud.
  • Principalele aspecte ale REST sunt resursele care se află pe server și verbele GET, POST, PUT și DELETE, care pot fi folosite pentru a lucra cu aceste resurse.
  • Visual Studio și.Net pot fi folosite pentru a crea servicii web Restful.
  • Cand Testarea servicii web pentru POST și PUT, trebuie să utilizați un alt instrument numit fiddler care poate fi folosit pentru a trimite cererea POST și PUT către server.