RESTful Web Services Tutorial: Hvad er REST API med eksempel
Hvad er Restful Web Services?
Afslappende webtjenester er en let, vedligeholdelsesvenlig og skalerbar tjeneste, der er bygget på REST-arkitekturen. Restful Web Service, eksponer API fra din applikation på en sikker, ensartet, statsløs måde for den kaldende klient. Den kaldende klient kan udføre foruddefinerede handlinger ved hjælp af Restful-tjenesten. Den underliggende protokol for REST er HTTP. REST står for REpresentational State Transfer.
RESTful nøgleelementer
REST webtjenester er virkelig nået langt siden starten. I 2002 havde webkonsortiet frigivet definitionen af WSDL- og SOAP-webtjenester. Dette dannede standarden for, hvordan webtjenester implementeres.
I 2004 udgav webkonsortiet også definitionen af en ekstra standard kaldet RESTful. I løbet af de sidste par år er denne standard blevet ret populær. Og bliver brugt af mange af de populære websteder rundt om i verden, som 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 kunne være vært for vigtige dokumenter eller billeder eller videoer. Alle disse er et eksempel på ressourcer. Hvis en klient, f.eks. 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, hvorpå 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 registreringer af flere ansatte. Lad os antage, at webapplikationens URL er http://demo.guru99.com. For nu at få adgang til en medarbejderpostressource via REST-tjenester, kan man udstede kommandoen http://demo.guru99.com/employee/1 – Denne kommando beder webserveren om at give oplysningerne om den medarbejder, hvis medarbejdernummer er 1.
- Anmod om verber – Disse beskriver, hvad du vil gøre med ressourcen. En browser udsteder et GET verbum for at instruere det slutpunkt, den ønsker at hente data. Der er dog mange andre verber tilgængelige, herunder ting som POST, PUT og DELETE. Altså i tilfældet med eksemplet http://demo.guru99.com/employee/1 , udsender webbrowseren faktisk et GET Verb, fordi den ønsker at få oplysningerne om medarbejderposten.
- Anmod om overskrifter – Dette er yderligere instruktioner, der sendes sammen med anmodningen. Disse kan definere den type svar, der kræves, eller autorisationsoplysningerne.
- Anmodningslegeme – 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 vil anmodningsorganet have detaljerne om den ressource, som skal tilføjes til serveren.
- Svarorgan – Dette er hoveddelen af svaret. Så i vores RESTful API-eksempel, hvis vi skulle forespørge webserveren via anmodningen http://demo.guru99.com/employee/1 , returnerer webserveren muligvis et XML-dokument med alle oplysninger om medarbejderen i svarlegemet.
- Svarstatuskoder – Disse koder er de generelle koder, som 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 verberne (POST, GET, PUT og DELETE) og et REST API-eksempel på, hvad de ville betyde.
Lad os antage, at vi har en RESTful webservice er defineret på stedet. http://demo.guru99.com/employee . Når klienten fremsætter en anmodning til denne webtjeneste, kan den angive et hvilket som helst af de normale HTTP-verber GET, POST, DELETE og PUT. Nedenfor er hvad der ville ske, hvis de respektive verber blev sendt af klienten.
- POST – Dette ville blive brugt til at oprette en ny medarbejder ved hjælp af RESTful-webservicen
- GET – Dette ville blive brugt til at få en liste over alle medarbejdere, der bruger RESTful-webservicen
- PUT – Dette vil blive brugt til at opdatere alle medarbejdere, der bruger RESTful-webservicen
- SLET – Dette ville blive brugt til at slette alle medarbejdere, der bruger RESTful-tjenesterne
Lad os tage et kig fra et perspektiv af kun en enkelt plade. Lad os sige, at der var en medarbejderrekord med medarbejdernummeret 1.
Følgende handlinger vil have deres respektive betydninger.
- POST – Dette ville ikke være relevant, da vi henter data fra medarbejder 1, som allerede er oprettet.
- GET – Dette ville blive brugt til at få oplysninger om medarbejderen med medarbejdernummer som 1 ved hjælp af RESTful-webservicen
- PUT – Dette ville blive brugt til at opdatere oplysningerne om medarbejderen med medarbejdernummer som 1 ved hjælp af RESTful-webservicen
- SLET – Dette bruges til at slette oplysningerne om medarbejderen med medarbejdernummer som 1
Hvorfor afslappende
Afslappende blev for det meste populær på grund af følgende årsager:
1. Heterogene sprog og miljøer - Det er en af de grundlæggende årsager, som er de samme, som vi har set for SOAP også.
- 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 ligge i forskellige miljøer, nogle kunne være tændt 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 kunne tale sammen. Afslappende webtjenester tilbyder denne fleksibilitet til applikationer, der er bygget på forskellige programmeringssprog og platforme for at tale med hinanden.
Billedet nedenfor giver et eksempel på en webapplikation, som har et krav om at tale med andre applikationer såsom Facebook, Twitter og Google.
Hvis en klientapplikation nu skulle arbejde med websteder som Facebook, Twitter osv., ville de sandsynligvis være nødt til at vide, hvad sproget 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 afslører deres funktionalitet i form af Restful webtjenester. Dette gør det muligt for enhver klientapplikation at kalde disse webtjenester via REST.
2. Begivenheden af Enheder – Nu om dage skal alt arbejde videre Mobil enheder, uanset om 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 kan Restful API'er gøre dette job enklere, fordi som nævnt i punkt nummer 1, behøver du virkelig ikke at vide, hvad der er det underliggende lag for enheden.
3. Endelig er begivenheden i Cloud – Alt flytter til skyen. Applikationer bevæger sig langsomt til cloud-baserede systemer som f.eks Azure or Amazon. Azure og Amazon leverer en masse 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 Cloud-baserede arkitekturer arbejder efter REST-princippet, giver det mere mening for webtjenester at blive programmeret på den REST-servicebaserede arkitektur for at udnytte de Cloud-baserede tjenester bedst muligt.
Rolig Architecture
En applikation eller arkitektur, der betragtes som RESTful eller REST-stil, har følgende egenskaber
1. Tilstand og funktionalitet er opdelt i distribuerede ressourcer – Dette betyder, at hver ressource skal være tilgængelig via de normale HTTP-kommandoer GET, POST, PUT eller DELETE. Så hvis nogen ønskede at få en fil fra en server, skulle de være i stand til at udstede GET-anmodningen og hente filen. Hvis de vil lægge en fil på serveren, bør de enten kunne udstede POST- eller PUT-anmodningen. Og endelig, hvis de ønskede at slette en fil fra serveren, kan de udstede anmodningen om DELETE.
2. Arkitekturen er klient/server, statsløs, lagdelt og understøtter caching
- Klient-server er den typiske arkitektur, hvor serveren kan være webserveren, der hoster applikationen, og klienten kan være lige så enkel som webbrowseren.
- Stateless betyder, at applikationens tilstand ikke opretholdes i REST. Hvis du f.eks. sletter en ressource fra en server ved hjælp af kommandoen DELETE, kan du ikke forvente, at sletteinformationen videregives 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 få alle ressourcerne på serveren. Hvorefter man skulle se, om ressourcen rent faktisk blev slettet.
RESTFul principper og begrænsninger
REST-arkitekturen er baseret på nogle få karakteristika, som er uddybet 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.
Dette er det mest grundlæggende krav til en REST-baseret arkitektur. Det betyder, at serveren vil have en RESTful webservice, som vil levere den nødvendige funktionalitet til klienten. Klienten sender en anmodning til webtjenesten på serveren. Serveren ville 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ål-svar-sekvens. Klienten stiller et spørgsmål, serveren besvarer det korrekt. Kunden vil stille et andet spørgsmål. Serveren vil ikke huske det forrige spørgsmål-svar-scenarie og skal besvare det nye spørgsmål uafhængigt.
- Cache
Cache-konceptet skal hjælpe med problemet med statsløse, som blev beskrevet i sidste punkt. Da hver serverklientanmodning er uafhængig af natur, kan klienten nogle gange bede serveren om den samme anmodning igen. Dette er selvom den allerede havde bedt om det tidligere. Denne anmodning vil gå til serveren, og serveren vil give et svar. Dette øger trafikken på tværs af netværket. Cachen er et koncept implementeret på klienten til at gemme anmodninger, som allerede er sendt til serveren. Så hvis den samme anmodning er givet af klienten, i stedet for at gå til serveren, ville 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 et hvilket som helst yderligere lag, såsom et middleware-lag, kan indsættes mellem klienten og den faktiske server, der hoster RESTFul-webservicen (mellemwarelaget er det sted, hvor al forretningslogikken skabes. Dette kan være en ekstra service oprettet, som klienten kunne interagere med, før den foretager et opkald til webtjenesten). Men introduktionen af dette lag skal være gennemsigtig, så det ikke forstyrrer interaktionen mellem klienten og serveren.
- Interface/Uniform Kontrakt
Dette er den underliggende teknik til, hvordan RESTful webtjenester skal fungere. RESTful fungerer grundlæggende på HTTP-weblaget og bruger nedenstående nøgleverber 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 en ressources tilstand eller for at opdatere den
- SLET – For at fjerne eller slette en ressource fra serveren
Opret din første Restful-webtjeneste i ASP.NET
Nu i denne REST API tutorial lærer vi, hvordan man opretter en Restful webservice i ASP.NET:
Webtjenester kan oprettes på en række forskellige sprog. Mange integrerede udviklingsmiljøer kan bruges til at skabe 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-webtjenester efterligne følgende REST-tjenesteeksempel.
Vi kommer til at have en Restful-webtjeneste, som vil fungere på nedenstående datasæt.
Nedenstående datasæt repræsenterer et REST API-eksempel på at have en virksomhed, der afslører de tutorials, de har baseret på Tutorialid.
Tutorialid | Tutorial Navn |
---|---|
0 | Arrays |
1 | køer |
2 | Stakke |
I vores REST API tutorial eksempel skal vi implementere nedenstående Restful Verbs.
- FÅ vejledning – Når en klient påberåber sig denne Restful API, vil de få hele sættet af vejledninger, der er tilgængelige fra webtjenesten.
- FÅ Tutorial/Tutorialid – Når en klient påberåber sig denne Restful API, vil de blive givet Tutorial-navnet baseret på det Tutorial-id sendt af klienten.
- POST Tutorial/Tutorialnavn – Når en klient kalder denne Restful API, vil klienten indsende en anmodning om at indsætte et selvstudienavn. Webtjenesten tilføjer derefter det indsendte selvstudienavn til samlingen.
- SLET Tutorial/Tutorialid– Når en klient kalder denne Restful API, vil klienten indsende en anmodning om at slette et Tutorialnavn baseret på Tutorialid. Webtjenesten vil derefter slette det indsendte Tutorial-navn fra samlingen.
Lad os følge nedenstående trin i denne RESTful API tutorial for at skabe vores første RESTful webtjenester, som udfører ovenstående implementering.
Sådan opretter du din første afslappende webtjeneste
Trin 1) Opret nyt projekt.
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 en anden dialogboks til at vælge projekttype og give de nødvendige detaljer om projektet. Dette er forklaret i næste trin i denne RESTful API-tutorial
Trin 2) Indtast projektnavn og placering.
- Sørg for først at vælge RESTful webtjenesterne C# webskabelon for ASP.NET webapplikation. Projektet skal være af denne type for at kunne oprette webserviceprojekt. Ved at vælge denne indstilling vil Visual Studio derefter udføre de nødvendige trin for at tilføje nødvendige filer, som kræves af enhver webbaseret applikation.
- Giv dit projekt et navn, som i vores tilfælde har fået navnet "Webservice.REST".
- Sørg derefter for at give en placering, hvor projektfilerne vil blive gemt.
Når du er færdig, vil du se projektfilen oprettet i din løsningsstifinder i Visual Studio 2013.
Trin 3) Opret webtjenestefilen.
Det næste trin er at oprette webtjenestefilen, som skal have RESTful-webtjenesten
- Først Højreklik på projektfilen som vist nedenfor
- I dette trin,
- Højreklik på projektfilen
- Vælg muligheden "Tilføj->nyt element."
I dialogboksen, der vises, skal du udføre følgende
- Vælg muligheden for WCF Service (Ajax-aktiveret) – Vælg en fil af denne type, det forårsager Visual studio at tilføje noget grundlæggende kode, som hjælper en med at skabe en RESTful webservice. WCF står for Windows Kommunikation Foundation. WCF er et bibliotek til applikationer af forskellige platforme eller den samme platform til at kommunikere over de forskellige protokoller såsom TCP, HTTP, HTTPS. Ajax er grundlæggende asynkron JavaScript og XML. AJAX tillader websider at blive opdateret asynkront ved at udveksle små mængder data med serveren bag kulisserne.
- Giv derefter et navn til tjenesten, som 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) Lav en konfiguration.
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 den kaldede fil 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. Ændringen, der foretages, gør det faktisk muligt for applikationen at sende og modtage data som en ren RESTful webservice.
- Klik på Web.config-filen for at åbne koden
- Find linjen
- Skift linjen til
Trin 5) Tilføj vores kode til implementering.
Det næste trin i denne RESTful API-tutorial er at tilføje vores kode til implementering. Al den nedennævnte 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 kommer til at have en liste over strengvariabler med værdierne "Arrays", "Queues" og "Stacks". Dette vil repræsentere det selvstudienavn, der er tilgængeligt via vores hosting-webservice.
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"});
Trin 6) Definer koden for vores GET-metode.
Dernæst vil vi definere koden for vores GET-metode. Denne kode vil også ligge i den samme TutorialService.svc-fil. Denne kode vil køre, 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; }
Kodeforklaring:-
- Den første kodelinje 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 , vil ovenstående kode blive aktiveret. Attributten til 'WebGet' er en parameter, som gør det muligt for denne metode at være en RESTful-metode, så den kan påkaldes via GET-verbet.
- Denne sektion af kode bruges til at gennemgå vores liste over strenge i 'lst'-variablen og returnere dem alle til det kaldende program.
Trin 7) Returner output.
Koden nedenfor sikrer, at hvis der foretages et GET-kald til Tutorial-tjenesten med et Tutorial-id, vil 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]; }
Kodeforklaring:-
- Den første kodelinje 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, vil vi være i stand til at kalde webtjenesten som http://localhost:52645/TutorialService.svc/Tutorial/1 som et eksempel. Webtjenesten ville derefter skulle returnere selvstudienavnet, som havde selvstudie-id#1.
- Denne sektion af kode bruges til at returnere "Tutorial-navnet", som har Tutorial-id'et videregivet til webmetoden.
- Som standard er det, der skal huskes, at det, 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 det til at få adgang til indekspositionen i vores liste og
- Returner derefter værdien til det kaldende program i overensstemmelse hermed.
Trin 8) Skriv koden til POST-metoden.
Det næste trin er at skrive koden til vores POST-metode. Denne metode vil blive påberåbt, når vi ønsker at tilføje en strengværdi til vores liste over vejledninger via POST-metoden. For eksempel, hvis du vil tilføje selvstudienavnet "Softwaretest", skal du bruge POST-metoden.
Kodeforklaring:-
- Den første linje er 'WebInvoke'-attributten, som er knyttet til vores metode. Dette gør det muligt at aktivere metoden via POST-kaldet. RequestFormat- og ResponseFormat-attributten skal nævnes som JSON, da værdierne skal være i dette format, når du sender værdier til en RESTFul-webservice.
- Den anden kodelinje bruges til at tilføje strengværdien, der sendes via POST-kaldet, til vores eksisterende liste over vejledningsstrenge.
Trin 9) Tilføj metode til at håndtere SLET-handlingen.
Til sidst vil vi tilføje vores metode til at håndtere DELETE-operationen. Denne metode vil blive påberåbt, når vi ønsker at slette en eksisterende strengværdi fra vores liste over Tutorials via DELETE-metoden.
[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); }
Kodeforklaring:-
- Den første linje er 'WebInvoke'-attributten, som er knyttet til vores metode. Dette gør det muligt at starte metoden via POST-kaldet. RequestFormat- og ResponseFormat-attributten skal nævnes som JSON, da værdierne skal være i dette format, når du sender værdier til en RESTFul-webservice. Bemærk, at metodeparameteren indstilles til "DELETE". Dette betyder, at hver gang vi udsteder verbet DELETE, vil denne metode blive påberåbt.
- Den anden kodelinje bruges til at tage det Tutorialid, der er sendt via DELETE-opkaldet, og efterfølgende slette det id fra vores liste. (Det Int32 funktion i kode bruges til at konvertere Tutorial ID fra en strengvariabel til et heltal).
Kører din første Restful-webtjeneste
Nu hvor vi har lavet 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.
For at køre webtjenesten skal du følge nedenstående trin
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) Næste skridt er at køre selve projektet. Nu afhængigt af standardbrowseren installeret på systemet, vil det relevante browsernavn komme ved siden af Kør-knappen i Visual Studio. I vores tilfælde har vi Google Chrome dukker op. Bare klik på denne knap.
Produktion:-
Når projektet er kørt, kan du browse til din TutorialService.svc/Tutorial sektion, og du vil få nedenstående output.
I ovenstående output,
- Du kan se, at browseren kalder 'GET'-verbet og udfører 'GetAllTutorial'-metoden i webtjenesten. Dette modul bruges til at vise alle de selvstudier, som vores webservice viser.
Test af din første Restful-webtjeneste
I ovenstående afsnit har vi allerede set, hvordan man bruger browseren til at udføre 'GET'-verbet og påkalde 'GetAllTutorial'.
- Lad os nu bruge browseren til at udføre følgende use case scenario.
GET Tutorial/Tutorialid – Når en klient kalder denne Restful API, vil de få Tutorial-navnet baseret på det Tutorial-id sendt af klienten
I din browser skal du tilføje strengen /1 efter vejledningsordet i URL'en. Hvis du trykker på Enter-knappen, får du nedenstående output
Nu vil du se outputtet af køer, som faktisk svarer til nummer 1 i vores liste over vejledningsstrenge. Det betyder, at 'GetTutorialbyID'-metoden nu aktiveres fra vores webservice. Det viser også, at værdien af 1 overføres 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 bruge 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 kalder denne Restful API, vil klienten indsende en anmodning om at indsætte et Tutorialname. Webtjenesten tilføjer derefter det indsendte selvstudienavn til samlingen.
Kør Filddler-værktøjet og udfør nedenstående trin;
- Gå til komponistsektionen. Dette bruges til at oprette anmodninger, som kan sendes til enhver webapplikation.
- Sørg for, at anmodningstypen er "POST", og at den korrekte URL bliver ramt, hvilket i vores tilfælde burde være http://localhost:52645/TutorialService.svc/Tutorial
- Sørg for, at Content-Type er markeret som application/json. Husk, at vores POST-anmodningsmetode i vores webtjeneste kun accepterer json-stildata, så vi skal sikre, at dette er angivet, når vi sender en anmodning til vores applikation.
- Til sidst 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 "Træer" til vores samling af vejledningsnavne og sikre, at den er tagget til str-variabelnavnet.
Til sidst skal du blot klikke på knappen Udfør i fiddler. Dette vil sende en anmodning til webservicen om at POSTE data "Træer" til vores webservice.
Når vi nu går til Tutorial-URL'en for at vise alle strengene i vores Tutorial-liste, vil du nu se, at værdien af "Træer" også er til stede. Dette viser, at POST-anmodningen til webtjenesten blev udført, og at den blev føjet til vores vejledningsliste.
- Lad os derefter bruge vores webservice ved at udføre nedenstående scenarie. Til dette skal vi også bruge spillemandsværktøjet
DELETE Tutorial/Tutorialid- Når en klient kalder denne Restful API, vil klienten indsende en anmodning om at slette et Tutorialnavn baseret på Tutorialid. Webtjenesten vil derefter slette det indsendte Tutorial-navn fra samlingen.
Kør Filddler-værktøjet og udfør nedenstående trin
- Gå til komponistsektionen. Dette bruges til at oprette anmodninger, som kan sendes til enhver webapplikation.
- Sørg for, at anmodningstypen er "DELETE", og at den korrekte URL bliver ramt, hvilket i vores tilfælde burde være http://localhost:52645/TutorialService.svc/Tutorial. Sørg for, at id'et, der bruges til at slette en streng på listen, sendes via URL'en som en parameter. I vores REST-eksempel sender vi 1, så dette vil slette 2nd element i vores samling, som er "Køer".
Til sidst skal du blot klikke på knappen Udfør i fiddler. Dette vil sende en anmodning til webservicen om at SLETTE data "køer" til vores webservice.
Når vi nu går til Tutorial-URL'en for at vise alle strengene i vores Tutorial-liste, vil du bemærke, at værdien af "Queues" ikke længere er til stede.
Dette viser, at DELETE-anmodningen til webtjenesten blev udført. Elementet ved indeksnummer 1 i vores liste over vejledningsstrenge blev slettet.
Resumé
- REST står for REpresentational State Transfer. REST bruges til at bygge webtjenester, der er lette, vedligeholdelige og skalerbare.
- Flere og flere applikationer flytter til Restful-arkitekturen. Dette skyldes, at der er mange mennesker, der nu bruger mobile enheder og en bredere vifte af applikationer, der flytter til skyen.
- De vigtigste aspekter af REST er de ressourcer, der ligger på serveren og verberne GET, POST, PUT og DELETE, som kan bruges til at arbejde med disse ressourcer.
- Visual Studio and.Net kan bruges til at skabe Restful webtjenester.
- Hvornår Test webtjenester til 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.