Hvad er Restful Web Services?
Restful Web Services er en let, vedligeholdelig og skalerbar service, der er bygget på REST-arkitekturen. Restful Web Service, udsæt API fra din applikation på en sikker, ensartet og statsløs måde for den opkaldende klient. Den opkaldende klient kan udføre foruddefinerede operationer ved hjælp af tjenesten Restful. Den underliggende protokol for REST er HTTP. REST står for REpresentational State Transfer.
I denne REST API-tutorial lærer du-
- RESTful nøgleelementer
- Afslappende metoder
- Hvorfor afslappende
- Afslappende arkitektur
- RestFul-principper og begrænsninger
- Opret din første afslappende webservice i ASP.NET
- Kører din første afslappende webservice
- Test af din første afslappende webservice
RESTful nøgleelementer
REST-webtjenester er virkelig kommet langt siden starten. I 2002 havde webkonsortiet frigivet definitionen af WSDL- og SOAP-webtjenester. Dette dannede standarden for, hvordan webtjenester implementeres.
I 2004 frigav webkonsortiet også definitionen af en yderligere standard kaldet RESTful. I løbet af de sidste par år er denne standard blevet meget populær. Og bruges af mange af de populære hjemmesider rundt om i verden, der inkluderer Facebook og Twitter.
REST er en måde at få adgang til ressourcer, der ligger i et bestemt miljø. For eksempel kan du have en server, der kan være vært for vigtige dokumenter eller billeder eller videoer. Alle disse er et eksempel på ressourcer. Hvis en klient, siger en webbrowser, har brug for nogen af disse ressourcer, skal den sende en anmodning til serveren for at få adgang til disse ressourcer. Nu definerer REST-tjenester en måde, hvordan disse ressourcer kan tilgås.
Nøgleelementerne i en RESTful implementering er som følger:
-
Ressourcer - Det første nøgleelement er selve ressourcen. Lad os antage, at en webapplikation på en server har optegnelser over flere medarbejdere. Lad os antage, at webapplikationens URL er http://demo.guru99.com . For at få adgang til en medarbejderregistreringsressource via REST-tjenester, kan man udstede kommandoen http://demo.guru99.com/employee/1 - Denne kommando fortæller webserveren at angive detaljerne om den medarbejder, hvis medarbejdernummer er 1.
-
Request Verbs - Disse beskriver, hvad du vil gøre med ressourcen. En browser udsteder et GET-verb for at instruere det slutpunkt, den ønsker at få data. Der er dog mange andre verber tilgængelige, herunder ting som POST, PUT og SLET. Så i tilfældet med eksemplet http://demo.guru99.com/employee/1 udsteder webbrowseren faktisk et GET-verb, fordi det ønsker at få detaljerne i medarbejderjournalen.
-
Anmodningsoverskrifter - Dette er yderligere instruktioner, der sendes sammen med anmodningen. Disse definerer muligvis den type svar, der kræves, eller autorisationsoplysningerne.
-
Anmodningsorgan - Data sendes sammen med anmodningen. Data sendes normalt i anmodningen, når der sendes en POST-anmodning til REST-webtjenesterne. I et POST-opkald fortæller klienten faktisk REST-webtjenesterne, at den ønsker at tilføje en ressource til serveren. Derfor ville anmodningsorganet have detaljerne om den ressource, som skal tilføjes til serveren.
-
Svar Body - Dette er hoveddelen af svaret. Så i vores RESTful API-eksempel, hvis vi forespørger på webserveren via anmodningen http://demo.guru99.com/employee/1 , returnerer webserveren muligvis et XML-dokument med alle detaljerne om medarbejderen i svaret Legeme.
-
Svarstatuskoder - Disse koder er de generelle koder, der returneres sammen med svaret fra webserveren. Et eksempel er koden 200, som normalt returneres, hvis der ikke er nogen fejl ved returnering af et svar til klienten.
Afslappende metoder
Nedenstående diagram viser for det meste alle verbene (POST, GET, PUT og DELETE) og et REST API-eksempel på, hvad de ville betyde.
Lad os antage, at vi har en RESTful webtjeneste, der er defineret på stedet. http://demo.guru99.com/medarbejder . Når klienten fremsætter en anmodning til denne webtjeneste, kan den angive en hvilken som helst af de normale HTTP-verber for GET, POST, SLET og PUT. Nedenfor er hvad der ville ske, hvis de respektive verb blev sendt af klienten.
- POST - Dette vil blive brugt til at oprette en ny medarbejder ved hjælp af RESTful-webservicen
- FÅ - Dette vil blive brugt til at få en liste over alle medarbejdere, der bruger RESTful-webservicen
- PUT - Dette ville blive brugt til at opdatere alle medarbejdere, der bruger RESTful-webservicen
- SLET - Dette bruges til at slette alle medarbejdere, der bruger RESTful-tjenesterne
Lad os tage et kig fra et perspektiv på kun en enkelt plade. Lad os sige, at der var en medarbejderjournal med medarbejdernummeret 1.
Følgende handlinger ville have deres respektive betydninger.
- POST - Dette ville ikke være relevant, da vi henter data for medarbejder 1, som allerede er oprettet.
- FÅ - Dette ville blive brugt til at få detaljerne om medarbejderen med medarbejder nr. 1 ved hjælp af RESTful-webservicen
- PUT - Dette vil blive brugt til at opdatere detaljerne om medarbejderen med medarbejder nr. 1 ved hjælp af RESTful-webservicen
- SLET - Dette bruges til at slette detaljerne om medarbejderen med medarbejder nr. 1
Hvorfor afslappende
Restful kom for det meste i popularitet på grund af følgende årsager:
- Heterogene sprog og miljøer - Dette er en af de grundlæggende grunde, som er den samme, som vi også har set for SOAP.
- Det gør det muligt for webapplikationer, der er bygget på forskellige programmeringssprog, at kommunikere med hinanden
- Ved hjælp af Restful-tjenester kan disse webapplikationer opholde sig i forskellige miljøer, nogle kan være på Windows, og andre kunne være på Linux.
Men i sidste ende, uanset hvad miljøet er, skal slutresultatet altid være det samme, at de skal være i stand til at tale med hinanden. Restful webtjenester tilbyder denne fleksibilitet til applikationer bygget på forskellige programmeringssprog og platforme til at tale med hinanden.
Nedenstående billede giver et eksempel på en webapplikation, der har et krav om at tale med andre applikationer såsom Facebook, Twitter og Google.
Hvis en klientapplikation nu skulle arbejde med sider som Facebook, Twitter osv., Ville de sandsynligvis have at vide, hvad der er det sprog, Facebook, Google og Twitter er bygget på, og også på hvilken platform de er bygget på.
Baseret på dette kan vi skrive grænsefladekoden til vores webapplikation, men dette kan vise sig at være et mareridt.
Facebook, Twitter og Google udsætter deres funktionalitet i form af Restful-webtjenester. Dette gør det muligt for enhver klientapplikation at ringe til disse webtjenester via REST.
- Begivenheden med enheder - I dag skal alt fungere på mobile enheder, hvad enten det er den mobile enhed, de bærbare computere eller endda bilsystemer.
Kan du forestille dig mængden af indsats for at prøve at kode applikationer på disse enheder til at tale med normale webapplikationer? Igen Restful API'er kan gøre dette job enklere, for som nævnt i punkt nr. 1 behøver du virkelig ikke vide, hvad der er det underliggende lag for enheden.
- Endelig er begivenheden i skyen - alt bevæger sig til skyen. Applikationer bevæger sig langsomt til skybaserede systemer som i Azure eller Amazon. Azure og Amazon leverer mange API'er baseret på Restful-arkitekturen. Derfor skal applikationer nu udvikles på en sådan måde, at de gøres kompatible med skyen. Så da alle skybaserede arkitekturer arbejder på REST-princippet, er det mere fornuftigt, at webtjenester programmeres på den REST-servicebaserede arkitektur for at udnytte Cloud-baserede tjenester bedst muligt.
Afslappende arkitektur
En applikation eller arkitektur, der betragtes som RESTful eller REST-stil, har følgende egenskaber
- Tilstand og funktionalitet er opdelt i distribuerede ressourcer - Dette betyder, at enhver ressource skal være tilgængelig via de normale HTTP-kommandoer GET, POST, PUT eller DELETE. Så hvis nogen ønskede at hente en fil fra en server, skulle de være i stand til at udstede GET-anmodningen og hente filen. Hvis de ønsker at placere en fil på serveren, skal de være i stand til enten at udstede POST- eller PUT-anmodningen. Og endelig, hvis de ønskede at slette en fil fra serveren, udsteder de DELETE-anmodningen.
- Arkitekturen er klient / server, statsløs, lagdelt og understøtter caching -
- Klientserver er den typiske arkitektur, hvor serveren kan være den webserver, der er vært for applikationen, og klienten kan være så enkel som webbrowseren.
- Statsløs betyder, at applikationens tilstand ikke opretholdes i REST.
For eksempel, hvis du sletter en ressource fra en server ved hjælp af SLET-kommandoen, kan du ikke forvente, at sletteoplysninger sendes til den næste anmodning.
For at sikre, at ressourcen slettes, skal du udstede GET-anmodningen. GET-anmodningen ville blive brugt til først at hente alle ressourcerne på serveren. Derefter skal man se, om ressourcen faktisk blev slettet.
RESTFul-principper og begrænsninger
REST-arkitekturen er baseret på et par egenskaber, som er beskrevet nedenfor. Enhver RESTful-webservice skal overholde nedenstående egenskaber for at den kan kaldes RESTful. Disse egenskaber er også kendt som designprincipper, som skal følges, når man arbejder med RESTful-baserede tjenester.
- RESTFul klientserver
Dette er det mest grundlæggende krav til en REST-baseret arkitektur. Det betyder, at serveren vil have en RESTful webtjeneste, der giver den krævede funktionalitet til klienten. Klienten sender en anmodning til webservicen på serveren. Serveren vil enten afvise anmodningen eller efterkomme og give et passende svar til klienten.
- Statsløs
Begrebet statsløs betyder, at det er op til klienten at sikre, at alle de nødvendige oplysninger leveres til serveren. Dette er påkrævet, så serveren kan behandle svaret korrekt. Serveren bør ikke opretholde nogen form for information mellem anmodninger fra klienten. Det er en meget enkel uafhængig spørgsmålssvarssekvens. Klienten stiller et spørgsmål, serveren besvarer det korrekt. Kunden vil stille et andet spørgsmål. Serveren kan ikke huske det forrige spørgsmålssvarsscenarie og skal besvare det nye spørgsmål uafhængigt.
- Cache
Cache-konceptet er at hjælpe med problemet med statsløs, som blev beskrevet i sidste punkt. Da hver serverklientanmodning er uafhængig, kan klienten undertiden bede serveren om den samme anmodning igen. Dette er, selvom det allerede havde bedt om det tidligere. Denne anmodning går til serveren, og serveren giver et svar. Dette øger trafikken på tværs af netværket. Cachen er et koncept implementeret på klienten til at gemme anmodninger, der allerede er sendt til serveren. Så hvis den samme anmodning gives af klienten, i stedet for at gå til serveren, vil den gå til cachen og få de nødvendige oplysninger. Dette sparer mængden af frem og tilbage netværkstrafik fra klienten til serveren.
- Lagdelt system
Konceptet med et lagdelt system er, at ethvert ekstra lag såsom et mellemvarelag kan indsættes mellem klienten og den aktuelle server, der er vært for RESTFul-webservicen (Middlewarelaget er, hvor al forretningslogikken oprettes. Dette kan være en ekstra service oprettet, som klienten kunne interagere med, før den ringer til webservicen.). Men introduktionen af dette lag skal være gennemsigtig, så det ikke forstyrrer interaktionen mellem klienten og serveren.
- Interface / ensartet kontrakt
Dette er den underliggende teknik til, hvordan RESTful webtjenester skal fungere. RESTful fungerer grundlæggende på HTTP-weblaget og bruger nedenstående nøgleverb til at arbejde med ressourcer på serveren
- POST - For at oprette en ressource på serveren
- GET - For at hente en ressource fra serveren
- PUT - For at ændre tilstanden for en ressource eller for at opdatere den
- SLET - For at fjerne eller slette en ressource fra serveren
Opret din første afslappende webservice i ASP.NET
Nu i denne REST API-tutorial lærer vi, hvordan du opretter en afslappende webtjeneste i ASP.NET:
Webtjenester kan oprettes på en række forskellige sprog. Mange integrerede udviklingsmiljøer kan bruges til at oprette REST-baserede tjenester.
I dette RESTful API-eksempel skal vi oprette vores REST-applikation i .Net ved hjælp af Visual Studio. I vores eksempel vil vi for Restful web services efterligne følgende REST-serviceeksempel.
Vi vil have en afslappende webservice, der fungerer på nedenstående datasæt.
Nedenstående datasæt repræsenterer et REST API-eksempel på at have et firma, der udsætter de selvstudier, de har baseret på tutorialid.
Vejledning | Vejledningsnavn |
0 | Arrays |
1 | Køer |
2 | Stakke |
I vores eksempel på REST API-tutorial vil vi implementere nedenstående Restful Verbs.
- GET Tutorial - Når en klient påberåber sig denne Restful API, får de hele sæt Tutorials tilgængelige fra webservicen.
- GET Tutorial / Tutorialid - Når en klient påberåber sig denne Restful API, får de vejledningsnavnet baseret på det Tutorialid, der sendes af klienten.
- POST Tutorial / Tutorialname - Når en klient påberåber sig denne Restful API, sender klienten en anmodning om at indsætte et Tutorialname. Webservicen tilføjer derefter det indsendte vejledningsnavn til samlingen.
- SLET Tutorial / Tutorialid - Når en klient påberåber sig denne Restful API, sender klienten en anmodning om at slette et Tutorialname baseret på Tutorialid. Webservicen sletter derefter det indsendte vejledningsnavn fra samlingen.
Lad os følge nedenstående trin i denne RESTful API-tutorial for at oprette vores første RESTful-webservices, som udfører ovenstående implementering.
Trin 1) Det første trin er at oprette en tom Asp.Net-webapplikation. Fra Visual Studio 2013 skal du klikke på menupunktet Filer-> Nyt projekt.
Når du klikker på indstillingen Nyt projekt, giver Visual Studio dig derefter en anden dialogboks til valg af projekttype og til at give de nødvendige detaljer om projektet. Dette forklares i det næste trin i denne RESTful API-tutorial
Trin 2) I dette trin,
- Sørg for først at vælge RESTful webtjeneste C # web skabelon til ASP.NET webapplikation. Projektet skal være af denne type for at oprette webserviceprojekt. Ved at vælge disse indstillinger udfører Visual Studio derefter de nødvendige trin for at tilføje krævede filer, som kræves af ethvert webbaseret program.
- Giv et projektnavn, som i vores tilfælde er givet som "Webservice.REST".
- Sørg derefter for at give et sted, hvor projektfilerne gemmes.
Når du er færdig, vil du se projektfilen oprettet i din løsningsudforsker i Visual Studio 2013.
Trin 3) Det næste trin er at oprette den webtjenestefil, der skal have den RESTful webtjeneste
- Højreklik først på projektfilen som vist nedenfor
- I dette trin
- Højreklik på projektfilen
- Vælg indstillingen "Tilføj-> nyt element."
I den dialogboks, der vises, skal du udføre følgende
- Vælg indstillingen WCF Service (Ajax-aktiveret) - Vælg en fil af denne type, det får Visual Studio til at tilføje nogle grundlæggende kode, som hjælper en med at oprette en RESTful webtjeneste. WCF står for Windows Communication Foundation. WCF er et bibliotek til applikationer på forskellige platforme eller den samme platform til at kommunikere over de forskellige protokoller såsom TCP, HTTP, HTTPS. Ajax er dybest set asynkron JavaScript og XML. AJAX gør det muligt at opdatere websider asynkront ved at udveksle små mængder data med serveren bag kulisserne.
- Giv derefter et navn til den tjeneste, der er TutorialService i vores tilfælde.
- Til sidst skal du klikke på knappen Tilføj for at tilføje tjenesten til løsningen.
Trin 4) Det næste trin er faktisk at foretage en konfigurationsændring for at gøre det muligt for dette projekt at fuldføre arbejdet med RESTful webtjenester. Dette kræver, at du foretager en ændring af filen kaldet Web.config . Denne fil vises i samme vindue som Webservice-projektfilen. Filen Web.config indeholder alle konfigurationer, der får webapplikationen til at fungere som den skal. Den ændring, der foretages, gør det faktisk muligt for applikationen at sende og modtage data som en ren RESTful webtjeneste.
- Klik på filen Web.config for at åbne koden
- Find efter linjen
- Skift linjen til
Trin 5) Det næste trin i denne RESTful API-tutorial er at tilføje vores kode til implementering. Al nedenstående kode skal skrives i filen TutorialService.svc
- Den første bit er at tilføje kode for at repræsentere vores data, som vil blive brugt i vores program. Så vi vil have en liste over strengvariabler med værdierne "Arrays", "Queues" og "Stacks". Dette repræsenterer det selvstudienavn, der er tilgængeligt via vores hostingwebtjeneste.
namespace Webservice.REST{[ServiceContract(Namespace = "")][AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowedpublic class TutorialService{private static Listlst = new List (new String[] {"Arrays","Queues","Stacks"});
Trin 6) Dernæst definerer vi koden til vores GET-metode. Denne kode findes også i den samme TutorialService.svc-fil. Denne kode kører, når vi ringer til tjenesten fra vores browser.
Nedenstående metode vil blive brugt til at opfylde nedenstående scenarie
- Hvis en bruger ønsker en liste over alle tilgængelige tutorials, skal nedenstående kode skrives for at opnå dette.
[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;}
Kode Forklaring: -
- Den første linje kode er den vigtigste. Det bruges til at definere, hvordan vi kan kalde denne metode via en URL. Så hvis linket til vores webservice er http: // localhost: 52645 / TutorialService.svc, og hvis vi tilføjer '/ Tutorial' til URL'en som http: // localhost: 52645 / TutorialService.svc / Tutorial , ovenstående kode vil blive påberåbt. Attributten for 'WebGet' er en parameter, der gør det muligt for denne metode at være en RESTful-metode, så den kan påberåbes via GET-verbet.
- Denne sektion af kode bruges til at gennemgå vores liste over strenge i 'lst' variablen og returnere dem alle til opkaldsprogrammet.
Trin 7) Koden nedenfor sikrer, at hvis der foretages et GET-opkald til Tutorial-tjenesten med et Tutorial-id, ville det returnere det tilsvarende Tutorial-navn baseret på Tutorial-id'et.
[WebGet (UriTemplate = "/Tutorial/{Tutorialid}")]public String GetTutorialbyID(String Tutorialid){int pid;Int32.TryParse(Tutorialid, out pid);return lst[pid];}
Kode Forklaring: -
- Den første linje kode er den vigtigste. Det bruges til at definere, hvordan vi kan kalde denne metode via en URL. Så hvis linket til vores webservice er http: // localhost: 52645 / TutorialService.svc, og hvis vi tilføjer '/ Tutorial / {Tutorialid}' til URL'en, ville vi være i stand til at kalde webservicen som http: //localhost:52645/TutorialService.svc/Tutorial/1 som et eksempel. Webservicen skal derefter returnere det selvstudie navn, der havde tutorial id nr. 1.
- Dette afsnit af kode bruges til at returnere "Vejledningsnavn", der får Vejlednings-id sendt til webmetoden.
- Som standard skal der huskes, at hvad der sendes til URL'en i browseren er en streng.
- Men du skal huske, at indekset til vores liste skal være et heltal, så vi tilføjer den nødvendige kode for først at konvertere tutorialid til et heltal og derefter bruge den til at få adgang til indekspositionen på vores liste og
- Returner derefter værdien til opkaldsprogrammet i overensstemmelse hermed.
Trin 8) Det næste trin er at skrive koden op til vores POST-metode. Denne metode vil blive påberåbt, når vi vil tilføje en strengværdi til vores liste over tutorials via POST-metoden. Hvis du f.eks. Vil tilføje selvstudie-navnet "Software Testing", skal du bruge POST-metoden.
Kode Forklaring: -
- Den første linje er attributten 'WebInvoke', der er knyttet til vores metode. Dette gør det muligt at påkalde metoden via POST-opkaldet. Attributten RequestFormat og ResponseFormat skal nævnes som JSON, da værdierne skal være i dette format, når værdier sendes til en RESTFul-webservice.
- Den anden kodelinje bruges til at tilføje strengværdien, der sendes via POST-opkaldet, til vores eksisterende liste med tutorialstrenge.
Trin 9) Endelig vil vi tilføje vores metode til at håndtere SLET-operationen. Denne metode vil blive påberåbt, når vi vil slette en eksisterende strengværdi fra vores liste over selvstudier via DELETE-metoden.
[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);}
Kode Forklaring: -
- Den første linje er attributten 'WebInvoke', der er knyttet til vores metode. Dette gør det muligt at påkalde metoden via POST-opkaldet. Attributten RequestFormat og ResponseFormat skal nævnes som JSON, da værdierne skal være i dette format, når værdier sendes til en RESTFul-webservice. Bemærk, at metodeparameteren indstilles til "SLET". Dette betyder, at når vi udsteder DELETE-verbet, påkræves denne metode.
- Den anden kodelinje bruges til at tage vejledningen sendt via DELETE-opkaldet og derefter slette det id fra vores liste. ( Int32- funktionen i kode bruges til at konvertere tutorial-id'et fra en strengvariabel til et heltal).
Kører din første afslappende webservice
Nu hvor vi har oprettet hele vores webservice i ovenstående afsnit. Lad os se, hvordan vi kan køre Tutorial-tjenesten, så den kan påberåbes fra enhver klient.
Følg nedenstående trin for at køre webservicen
Trin 1) Højreklik på projektfilen - Webservice.REST
Trin 2) Vælg menupunktet 'Set as StartUp Project'. Dette vil sikre, at dette projekt køres, når Visual Studio kører hele løsningen
Trin 3) Det næste trin er at køre selve projektet. Afhængigt af den standardbrowser, der er installeret på systemet, kommer det relevante browsernavn nu ved siden af køreknappen i Visual Studio. I vores tilfælde har Google Chrome vist sig. Klik bare på denne knap.
Produktion:-
Når projektet køres, kan du gå til din sektion TutorialService.svc / Tutorial, og du får nedenstående output.
I ovenstående output,
- Du kan se, at browseren påkalder verbet 'GET' og udfører metoden 'GetAllTutorial' i webservicen. Dette modul bruges til at vise alle de selvstudier, der er eksponeret af vores webservice.
Test af din første afslappende webservice
I ovenstående afsnit har vi allerede set, hvordan man bruger browseren til at udføre 'GET' verbet og påberåbe sig 'GetAllTutorial.'
- Lad os nu bruge browseren til at udføre følgende use case-scenario.
GET Tutorial / Tutorialid - Når en klient påberåber sig denne Restful API, får de vejledningsnavnet baseret på Tutorialid sendt af klienten
I din browser skal du tilføje strengen / 1 efter tutorialsordet i URL'en. Hvis du trykker på Enter-knappen, får du nedenstående output
Nu vil du se output af køer, der faktisk svarer til nummer 1 i vores liste over tutorialstrings. Dette betyder, at 'GetTutorialbyID' -metoden nu påberåbes fra vores webservice. Det viser også, at værdien af 1 videregives med succes via browseren til vores webservice og til vores metode, og det er derfor, vi får den korrekte tilsvarende værdi af "Køer" i browseren.
- Lad os derefter forbruge vores webservice ved at udføre nedenstående scenarie. Til dette skal du installere værktøjet kaldet "Fiddler", som er et gratis værktøj, der kan downloades fra webstedet.
POST Tutorial / Tutorialname - Når en klient påberåber sig denne Restful API, sender klienten en anmodning om at indsætte et Tutorialname. Webservicen tilføjer derefter det indsendte vejledningsnavn til samlingen.
Kør Filddler-værktøjet, og udfør nedenstående trin;
- Gå til komponistsektionen. Dette bruges til at oprette anmodninger, der kan sendes til ethvert web
Ansøgning.
- Sørg for, at anmodningstypen er "POST", og at den korrekte URL bliver ramt, hvilket i vores tilfælde skal være http: // localhost: 52645 / TutorialService.svc / Tutorial
- Sørg for, at indholdstypen er markeret som applikation / json. Husk, at vores POST-anmodningsmetode i vores webservice kun accepterer json-stildata, så vi er nødt til at sikre, at dette er specificeret, når vi sender en anmodning til vores applikation.
- Endelig skal vi indtaste vores data. Husk, at vores metode til POST accepterer en parameter kaldet 'str.' Så her specificerer vi, at vi vil tilføje en værdi kaldet "Trees" til vores samling af tutorial-navne og sikre, at den er tagget til str-variabelnavnet.
Endelig skal du bare klikke på knappen Udfør i spillemanden. Dette sender en anmodning til webservicen om at POST dataene "Træer" til vores webservice.
Nu, når vi gennemsøger vejlednings-URL'en for at vise alle strengene i vores vejledningsliste, vil du nu se, at værdien af "Træer" også er til stede. Dette viser, at POST-anmodningen til webtjenesten blev udført med succes, og at den blev tilføjet til vores tutorial-liste.
- Lad os derefter forbruge vores webservice ved at udføre nedenstående scenarie. Til dette er vi også nødt til at bruge spillemaskineværktøjet
SLET Tutorial / Tutorialid - Når en klient påberåber sig denne Restful API, sender klienten en anmodning om at slette et Tutorialname baseret på Tutorialid. Webservicen sletter derefter det indsendte vejledningsnavn fra samlingen.
Kør Filddler-værktøjet, og udfør nedenstående trin
- Gå til komponistsektionen. Dette bruges til at oprette anmodninger, der kan sendes til ethvert web
Ansøgning.
- Sørg for, at anmodningstypen er "SLET", og at den korrekte URL bliver ramt, hvilket i vores tilfælde skal være http: // localhost: 52645 / TutorialService.svc / Tutorial . Sørg for, at id'et, der bruges til at slette en streng på listen, der sendes via URL'en som parameter. I vores REST-eksempel sender vi 1, så dette sletter det 2. element i vores samling, som er "Køer".
Endelig skal du bare klikke på knappen Udfør i spillemanden. Dette sender en anmodning til webservicen om at SLETTE dataene "Køer" til vores webservice.
Når vi nu kigger på URL'en Tutorial for at vise alle strengene i vores Tutorial-liste, vil du bemærke, at værdien af "Køer" ikke længere er til stede.
Dette viser, at DELETE-anmodningen til webtjenesten blev udført med succes. Elementet på indeks nr. 1 på vores liste over tutorialstrenge blev med succes slettet.
Resumé
- REST står for REpresentational State Transfer. REST bruges til at opbygge webtjenester, der er lette, vedligeholdelige og skalerbare.
- Flere og flere applikationer flytter til Restful-arkitekturen. Dette skyldes, at der nu er mange mennesker, der bruger mobile enheder og et bredere udvalg af applikationer, der flytter til skyen.
- Hovedaspekterne ved REST er de ressourcer, der findes på serveren, og verbene fra GET, POST, PUT og DELETE, som kan bruges til at arbejde med disse ressourcer.
- Visual Studio og.Net kan bruges til at oprette afslappende webtjenester.
- Når du tester webservices for POST og PUT, skal du bruge et andet værktøj kaldet fiddler, som kan bruges til at sende POST- og PUT-anmodningen til serveren.