Ce este Restful Web Services?
Restful Web Services 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 apelant. Clientul apelant poate efectua operațiuni predefinite folosind serviciul Restful. Protocolul de bază pentru REST este HTTP. REST înseamnă REpresentational State Transfer.
În acest tutorial API REST, veți învăța-
- Elemente cheie RESTful
- Metode odihnitoare
- De ce odihnitor
- Arhitectură odihnitoare
- RestFul Principii și constrângeri
- Creați primul dvs. serviciu web Restful în ASP.NET
- Rularea primului serviciu web Restful
- Testarea primului dvs. serviciu web Restful
Elemente cheie RESTful
Serviciile web REST au parcurs un drum lung de la începuturile sale. În 2002, consorțiul Web a lansat definiția serviciilor web WSDL și SOAP. Aceasta a constituit standardul modului în care sunt implementate serviciile web.
În 2004, consorțiul web a lansat, de asemenea, 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 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, puteți 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ă spunem că un browser web are nevoie de oricare dintre aceste resurse, trebuie să trimită o cerere către server pentru a accesa aceste resurse. Acum serviciile REST definesc o modalitate de accesare a acestor resurse.
Elementele cheie ale unei implementări RESTful sunt următoarele:
-
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 emite 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.
-
Solicitați 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ă îl obțină. 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 deoarece dorește să obțină detaliile înregistrării angajaților.
-
Anteturi de solicitare - Acestea sunt instrucțiuni suplimentare trimise odată cu solicitarea. Acestea ar putea defini tipul de răspuns necesar sau detaliile autorizației.
-
Corpul cererii - Datele sunt trimise odată cu solicitarea. Datele sunt trimise în mod normal în cerere atunci când se face o cerere POST către serviciile web REST. Într-un apel POST, clientul spune de fapt serviciilor web REST că dorește să adauge o resursă la server. Prin urmare, corpul solicitării va avea detaliile resursei care trebuie adăugate la server.
-
Corpul de răspuns - Acesta este corpul principal al răspunsului. Deci, în exemplul nostru RESTful API, dacă ar fi să interogăm serverul web prin intermediul cererii http://demo.guru99.com/employee/1 , serverul web ar putea returna un document XML cu toate detaliile angajatului în răspuns Corp.
-
Coduri 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 prezintă în principal toate verbele (POST, GET, PUT și DELETE) și un exemplu API REST a 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 solicitare către acest serviciu web, acesta poate specifica oricare dintre verbele HTTP normale de GET, POST, DELETE și PUT. Mai jos este ce s-ar întâmpla dacă verbele respective ar fi trimise de client.
- POST - Acesta va fi folosit pentru a crea un nou angajat folosind serviciul web RESTful
- GET - Acesta va fi folosit pentru a obține o listă a tuturor angajaților care utilizează serviciul web RESTful
- PUT - Aceasta va fi utilizată pentru actualizarea tuturor angajaților care utilizează serviciul web RESTful
- ȘTERGERE - Aceasta va fi utilizată pentru a șterge toți angajații care utilizează serviciile RESTful
Să aruncăm o privire dintr-o perspectivă a unui singur disc. Să presupunem că a existat o evidență a angajaților cu numărul de angajați 1.
Următoarele acțiuni ar avea semnificațiile lor respective.
- POST - Acest lucru nu se va aplica deoarece preluăm date despre angajatul 1 care sunt deja create.
- OBȚINE - Acest lucru va fi folosit pentru a obține detaliile despre angajat cu Angajat nr 1 folosind serviciul web RESTful
- PUT - Aceasta va fi utilizată pentru a actualiza detaliile angajatului cu Angajat nr 1 folosind serviciul web RESTful
- ȘTERGERE - Aceasta este utilizată pentru a șterge detaliile angajatului cu numărul de angajat 1
De ce odihnitor
Restful a devenit în mare parte popularitate din următoarele motive:
- Limbi și medii eterogene - Acesta este unul dintre motivele fundamentale care este același cu cel pe care l-am văzut și pentru SOAP.
- Permite aplicațiilor web construite pe diferite limbaje de programare să comunice între ele
- Cu ajutorul serviciilor Restful, aceste aplicații web pot locui în medii diferite, unele ar putea fi pe 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 în care ar trebui să poată vorbi între ei. Serviciile web relaxante oferă această flexibilitate aplicațiilor construite pe diverse limbaje de programare și platforme pentru a vorbi între ele.
Imaginea de mai jos oferă un exemplu de aplicație web care are obligația de a vorbi cu alte aplicații precum Facebook, Twitter și Google.
Acum, dacă o aplicație client ar trebui să lucreze cu site-uri precum Facebook, Twitter etc., probabil că 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 fapt, 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.
- Evenimentul dispozitivelor - În zilele noastre, totul trebuie să funcționeze pe dispozitivele mobile, fie că este vorba de dispozitivul mobil, notebook-uri sau chiar sisteme auto.
Vă puteți imagina cantitatea de efort pentru a încerca și codifica aplicațiile de pe aceste dispozitive pentru a vorbi cu aplicații web normale? Din nou, API-urile Restful pot simplifica această activitate, deoarece, așa cum am menționat la punctul 1, nu trebuie să știți care este stratul care stă la baza dispozitivului.
- În cele din urmă este evenimentul Norului - Totul se mută în nor. Aplicațiile se mută încet către sisteme bazate pe cloud, cum ar fi în Azure sau Amazon. Azure și Amazon oferă o mulțime de API-uri bazate pe arhitectura Restful. Prin urmare, aplicațiile trebuie acum dezvoltate în așa fel încât să fie compatibile cu Cloud. Așadar, 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 face cea mai bună utilizare a serviciilor bazate pe cloud.
Arhitectură odihnitoare
O aplicație sau o arhitectură considerată RESTful sau în stil REST are următoarele caracteristici
- Starea și funcționalitatea sunt împărțite în resurse distribuite - Acest lucru înseamnă că fiecare resursă ar trebui să fie accesibilă prin comenzile HTTP normale ale GET, POST, PUT sau DELETE. Deci, dacă cineva a dorit 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ă introducă un fișier pe server, ar trebui să poată emite solicitarea POST sau PUT. Și, în cele din urmă, dacă doreau să șteargă un fișier de pe server, ei emit o cerere ȘTERGERE.
- 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 aceste informații de ștergere să fie transmise la următoarea solicitare.
Pentru a vă asigura că resursa este ștearsă, va trebui să emiteți solicitarea GET. Solicitarea GET va fi utilizată pentru a obține mai întâi toate resursele de pe server. După care ar trebui să vedem dacă resursa a fost ștearsă.
RESTFul Principii și constrângeri
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 putea fi numit RESTful. Aceste caracteristici sunt, de asemenea, cunoscute sub numele de principii de proiectare care trebuie respectate atunci când lucrați cu servicii bazate pe RESTful.
- RESTFul Client-Server
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 cerere către serviciul web de pe server. Serverul fie respinge cererea, fie se conformează și oferă un răspuns adecvat clientului.
- Fara stare
Conceptul de apatri înseamnă că depinde de client să se asigure că toate informațiile solicitate sunt furnizate serverului. Acest lucru este necesar, astfel încât 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 clientului. Este o secvență de întrebare-răspuns independentă foarte simplă. Clientul pune o întrebare, serverul răspunde corespunzător. Clientul va pune o altă întrebare. Serverul nu își va aminti scenariul anterior de întrebare-răspuns și va trebui să răspundă independent la noua întrebare.
- Cache
Conceptul de cache este de a ajuta cu problema apatrizilor care a fost descrisă în ultimul punct. Deoarece fiecare cerere de client server este de natură independentă, uneori clientul ar putea cere serverului aceeași cerere din nou. Acest lucru se întâmplă cu toate că deja îl ceruse în trecut. Această cerere va fi trimisă către server, iar acesta va da un răspuns. Acest lucru mărește traficul în rețea. Cache-ul este un concept implementat pe client pentru a stoca cererile care au fost deja trimise către server. Deci, dacă aceeași cerere este dată de client, în loc să meargă la server, acesta ar merge în cache și va obține informațiile solicitate. Acest lucru economisește volumul de trafic de rețea de la client la server.
- Sistem stratificat
Conceptul unui sistem stratificat este că orice strat suplimentar, cum ar fi un strat middleware, poate fi inserat între client și serverul propriu-zis care găzduiește serviciul web RESTFul (stratul middleware este locul în care se creează 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.
- Interfață / Contract uniform
Aceasta este tehnica care stă la baza 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 resurse 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
- ȘTERGERE - Pentru a elimina sau șterge o resursă de pe server
Creați primul dvs. 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 utilizate pentru a crea servicii bazate pe REST.
În acest exemplu 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 API REST de a avea o companie care expune tutorialul pe care îl au pe baza Tutorialid.
Tutorialid | TutorialName |
0 | Matrice |
1 | Cozi |
2 | Stive |
În exemplul nostru tutorial REST API, vom implementa Verbele Restful de mai jos.
- GET Tutorial - Când un client invocă acest API Restful, li se va oferi întregul set de Tutoriale disponibile de la serviciul web.
- GET Tutorial / Tutorialid - Când un client invocă acest API Restful, i se va da numele Tutorialului pe baza Tutorialidului trimis de client.
- POST Tutorial / Tutorialname - Când un client invocă acest API Restful, clientul va trimite o cerere pentru a insera un Tutorialname. Serviciul web va adăuga apoi numele tutorialului trimis în colecție.
- DELETE Tutorial / Tutorialid- Când un client invocă acest API Restful, clientul va trimite o cerere 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 din acest tutorial API RESTful pentru a crea primele noastre servicii web RESTful, care realizează implementarea de mai sus.
Pasul 1) Primul pas este crearea unei aplicații web Asp.Net goale. Din Visual Studio 2013, faceți clic pe opțiunea de meniu Fișier-> Proiect nou.
După ce faceți clic pe opțiunea Proiect nou, Visual Studio vă va oferi apoi o altă casetă de dialog pentru alegerea tipului de proiect și pentru a oferi detaliile necesare ale proiectului. Acest lucru este explicat în pasul următor al acestui tutorial API RESTful
Pasul 2) În acest pas,
- Asigurați-vă că alegeți mai întâi șablonul web RESTful web services C # 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.
- Dați un nume proiectului dvs. care, în cazul nostru, a fost dat ca „Serviciu web.REST”.
- Apoi asigurați-vă că dați o locație, unde vor fi stocate fișierele proiectului.
După ce ați terminat, veți vedea fișierul de proiect creat în soluția dvs. de explorare în Visual Studio 2013.
Pasul 3) Următorul pas este crearea fișierului de serviciu web care va avea serviciul web RESTful
- Mai întâi faceți clic dreapta pe fișierul de proiect așa cum se arată mai jos
- În acest pas,
- Faceți clic dreapta pe fișierul proiectului
- Alegeți opțiunea „Adăugați-> element nou”.
În caseta de dialog care apare, trebuie să efectuați următoarele
- Alegeți opțiunea WCF Service (Ajax-enabled) - Alegeți un fișier de acest tip, deoarece Visual Studio adaugă un cod de bază care vă ajută să creați un serviciu web RESTful. WCF înseamnă Windows Communication 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 JavaScript și XML asincrone. AJAX permite actualizarea asincronă a paginilor web prin schimbul unor cantități mici de date cu serverul din culise.
- Apoi dați un nume pentru serviciul care este TutorialService în cazul nostru.
- În cele din urmă, faceți clic pe butonul Adăugare pentru a adăuga serviciul la soluție.
Pasul 4) Următorul pas este să efectuați o modificare de configurare pentru a permite acestui proiect să finalizeze lucrul cu serviciile web RESTful. Acest lucru necesită modificarea fișierului numit Web.config . Acest fișier apare în aceeași fereastră ca fișierul proiectului 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 făcută permite aplicației să trimită și să primească date ca un serviciu web RESTful pur.
- Faceți clic pe fișierul Web.config pentru a deschide codul
- Găsiți pentru linia
- Schimbați linia în
Pasul 5) Următorul pas din acest tutorial API RESTful este să adăugăm codul nostru pentru implementare. Toate codurile menționate mai jos trebuie scrise în fișierul TutorialService.svc
- Primul bit este să adăugăm cod pentru a reprezenta datele noastre, care vor fi utilizate în programul nostru. Deci, vom avea o listă de variabile de șir cu valori de "Matrice", "Cozi" și "Stive". Aceasta va reprezenta numele tutorialelor disponibile prin serviciul nostru de găzduire web.
namespace Webservice.REST{[ServiceContract(Namespace = "")][AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowedpublic class TutorialService{private static Listlst = new List (new String[] {"Arrays","Queues","Stacks"});
Pasul 6) Apoi vom defini codul pentru metoda noastră GET. Acest cod va locui, de asemenea, î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 să fie scris pentru a realiza acest lucru.
[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;}
Cod Explicație: -
- 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” la adresa URL ca http: // localhost: 52645 / TutorialService.svc / Tutorial , codul de mai sus va fi invocat. Atributul „WebGet” este un parametru care permite acestei metode să fie o metodă RESTful, astfel încât să poată fi invocată prin verbul GET.
- Această secțiune de cod este utilizată pentru a parcurge lista noastră de șiruri din variabila „lst” și a le returna pe toate în programul de apelare.
Pasul 7) Codul de mai jos asigură că, dacă un apel GET este efectuat către Serviciul Tutorial cu un ID Tutorial, atunci acesta va returna numele Tutorial corespunzător pe baza ID-ului Tutorial.
[WebGet (UriTemplate = "/Tutorial/{Tutorialid}")]public String GetTutorialbyID(String Tutorialid){int pid;Int32.TryParse(Tutorialid, out pid);return lst[pid];}
Cod Explicație: -
- 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 vom putea apela serviciul web ca http: //localhost:52645/TutorialService.svc/Tutorial/1 ca exemplu. Serviciul web ar trebui apoi să returneze numele tutorialului care avea ID-ul tutorialului # 1.
- Această secțiune de cod este utilizată pentru a returna „Numele tutorialului”, care are ID-ul tutorialului trecut la metoda web.
- În mod implicit, ceea ce trebuie să ne amintim este că orice este trecut la adresa URL din browser este un șir.
- Dar trebuie să vă amintiți că Indexul din lista noastră trebuie să fie un număr întreg, așa că adăugăm codul necesar pentru a converti mai întâi Tutorialidul într-un întreg și apoi îl vom folosi pentru a accesa poziția indexului din lista noastră și
- Apoi, returnați valoarea programului apelant în consecință.
Pasul 8) Următorul pas este să scrieți 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.
Cod Explicație: -
- Prima linie este atributul „WebInvoke” care a fost atașat metodei noastre. Acest lucru permite invocarea metodei prin apelul POST. Atributele RequestFormat și ResponseFormat trebuie menționate ca JSON, deoarece la postarea valorilor într-un serviciu web RESTFul, valorile trebuie să fie în acest format.
- A doua linie de cod este utilizată pentru a adăuga valoarea șirului transmis prin apelul POST la lista noastră existentă de șiruri de tutoriale.
Pasul 9) În cele din urmă, vom adăuga metoda noastră pentru a gestiona operațiunea DELETE. Această metodă va fi invocată ori de câte ori dorim să ștergem o valoare șir existentă din lista noastră de Tutoriale prin metoda 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);}
Cod Explicație: -
- Prima linie este atributul „WebInvoke” care a fost atașat metodei noastre. Acest lucru permite invocarea metodei prin apelul POST. Atributele RequestFormat și ResponseFormat trebuie menționate ca JSON, deoarece la postarea valorilor într-un serviciu web RESTFul, valorile trebuie să fie în acest format. Rețineți că parametrul Method este setat la „DELETE”. Aceasta înseamnă că ori de câte ori vom emite verbul DELETE, această metodă va fi invocată.
- A doua linie de cod este utilizată pentru a prelua Tutorialidul trimis prin apelul ȘTERGERE și ulterior a șterge acel ID din lista noastră. (Funcția Int32 din cod este utilizată pentru a converti ID-ul Tutorial dintr-o variabilă șir într-un număr întreg).
Rularea primului serviciu web Restful
Acum că ne-am creat întregul 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
Pasul 1) Faceți clic dreapta pe fișierul Proiect - Webservice.REST
Pasul 2) Alegeți opțiunea de meniu „Set as StartUp Project”. Acest lucru se va asigura că acest proiect este rulat atunci când Visual Studio rulează întreaga soluție
Pasul 3) Următorul pas este executarea proiectului în sine. Acum, în funcție de browserul implicit instalat pe sistem, numele browserului corespunzător va apărea lângă butonul de rulare din Visual Studio. În cazul nostru, apare Google Chrome. Doar faceți clic pe acest buton.
Ieșire: -
Când proiectul este rulat, puteți naviga la secțiunea TutorialService.svc / Tutorial și veți obține rezultatul de mai jos.
În rezultatul de mai sus,
- Puteți vedea că browserul invocă verbul „GET” și execută metoda „GetAllTutorial” în serviciul web. Acest modul este utilizat pentru a afișa toate tutorialele expuse de serviciul nostru web.
Testarea primului dvs. 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”.
- 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 Tutorialidului trimis de client
În browserul dvs., adăugați șirul / 1 după cuvântul Tutorial din adresa URL. Dacă apăsați butonul Enter, veți obține rezultatul de mai jos
Acum veți vedea rezultatul cozilor care corespunde efectiv numărului 1 în lista noastră de șiruri de tutoriale. Aceasta înseamnă că metoda „GetTutorialbyID” este acum invocată din serviciul nostru web. De asemenea, arată că valoarea 1 este transmisă cu succes prin browser către serviciul nostru web și către metoda noastră și de aceea obținem valoarea corespunzătoare corectă a „Cozilor” în browser.
- În continuare, să consumăm serviciul nostru web executând scenariul de mai jos. Pentru aceasta, trebuie să instalați instrumentul numit „Lăutător”, care este un instrument gratuit care poate fi descărcat de pe site.
POST Tutorial / Tutorialname - Când un client invocă acest API Restful, clientul va trimite o cerere pentru a insera un Tutorialname. Serviciul web va adăuga apoi numele tutorialului trimis în colecție.
Rulați instrumentul Filddler și efectuați pașii de mai jos;
- Accesați secțiunea compozitor. Aceasta este utilizată pentru a crea cereri care pot fi trimise către orice web
cerere.
- Asigurați-vă că tipul de solicitare este „POST” și că adresa URL corectă este lovită, care în cazul nostru ar trebui să fie http: // localhost: 52645 / TutorialService.svc / Tutorial
- Asigurați-vă că tipul de conținut este marcat ca aplicație / json. Amintiți-vă că metoda noastră de solicitare POST din serviciul nostru Web acceptă doar date de tip json, deci trebuie să ne asigurăm că acest lucru este specificat atunci când trimitem o cerere către aplicația noastră.
- În cele din urmă, trebuie să introducem datele noastre. Amintiți-vă că metoda noastră pentru POST acceptă un parametru numit „str.” Deci, aici specificăm că dorim să adăugăm o valoare numită „Copaci” la colecția noastră de nume Tutorial și să ne asigurăm că este etichetată cu numele variabilei str.
În cele din urmă, trebuie doar să faceți clic pe butonul Executare din lăutar. Aceasta va trimite o cerere către serviciul web pentru POSTAREA datelor „Copaci” către serviciul nostru web.
Acum, când navighăm la adresa URL a tutorialului pentru a afișa toate șirurile din lista noastră de tutoriale, acum veți vedea că valoarea „Copacilor” 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.
- În continuare, să consumăm serviciul nostru web executând scenariul de mai jos. Pentru aceasta, de asemenea, trebuie să folosim instrumentul de lăutari
DELETE Tutorial / Tutorialid- Când un client invocă acest API Restful, clientul va trimite o cerere 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
- Accesați secțiunea compozitor. Aceasta este utilizată pentru a crea cereri care pot fi trimise către orice web
cerere.
- Asigurați-vă că tipul de solicitare este „ȘTERGERE” și că adresa URL corectă este lovită, care în cazul nostru ar trebui să fie http: // localhost: 52645 / TutorialService.svc / Tutorial . Asigurați-vă că ID-ul care este utilizat pentru a șterge un șir din lista trimisă prin URL ca parametru. În exemplul nostru REST, trimitem 1, astfel încât acest lucru va șterge al doilea element din colecția noastră, care este „Cozi”.
În cele din urmă, trebuie doar să faceți clic pe butonul Executare din lăutar. Aceasta va trimite o cerere către serviciul web pentru ȘTERGEREA datelor „Cozi” către serviciul nostru web.
Acum, când navighăm la adresa URL a tutorialului pentru a afișa toate șirurile din lista noastră de tutoriale, veți observa că valoarea „Cozilor” nu mai este prezentă.
Aceasta arată că solicitarea ȘTERGERE către serviciul web a fost executată cu succes. Elementul de la indexul 1 din lista noastră de șiruri de tutoriale a fost șters.
rezumat
- REST înseamnă REpresentational State Transfer. REST este utilizat pentru a crea servicii web ușoare, care pot fi întreținute și care pot fi scalate.
- Tot mai multe aplicații trec la arhitectura Restful. Acest lucru se datorează faptului că acum există o mulțime de oameni care utilizează dispozitive mobile și o varietate mai largă de aplicații care se mută în cloud.
- Principalele aspecte ale REST sunt resursele care se află pe server și verbele GET, POST, PUT și DELETE, care pot fi utilizate pentru a lucra cu aceste resurse.
- Visual Studio și.Net pot fi utilizate pentru a crea servicii web Restful.
- Când testați serviciile web pentru POST și PUT, trebuie să utilizați un alt instrument numit lăutar care poate fi utilizat pentru a trimite cererea POST și PUT către server.