RESTful Web Services Tutorial: Hva er REST API med eksempel
Hva er Restful Web Services?
Avslappende nettjenester er en lett, vedlikeholdbar og skalerbar tjeneste som er bygget på REST-arkitekturen. Restful Web Service, eksponer API fra applikasjonen din på en sikker, enhetlig, statsløs måte for klienten som ringer. Den anropende klienten kan utføre forhåndsdefinerte operasjoner ved å bruke Restful-tjenesten. Den underliggende protokollen for REST er HTTP. REST står for REpresentational State Transfer.
RESTful nøkkelelementer
REST Web-tjenester har virkelig kommet langt siden starten. I 2002 hadde webkonsortiet gitt ut definisjonen av WSDL- og SOAP-netttjenester. Dette dannet standarden for hvordan webtjenester implementeres.
I 2004 ga nettkonsortiet også ut definisjonen av en tilleggsstandard kalt RESTful. I løpet av de siste par årene har denne standarden blitt ganske populær. Og blir brukt av mange av de populære nettstedene rundt om i verden som inkluderer Facebook og Twitter.
REST er en måte å få tilgang til ressurser som ligger i et bestemt miljø. Du kan for eksempel ha en server som kan være vert for viktige dokumenter eller bilder eller videoer. Alle disse er eksempler på ressurser. Hvis en klient, for eksempel en nettleser, trenger noen av disse ressursene, må den sende en forespørsel til serveren for å få tilgang til disse ressursene. Nå definerer REST-tjenester en måte å få tilgang til disse ressursene på.
Nøkkelelementene i en RESTful implementering er som følger:
- Ressurser – Det første nøkkelelementet er selve ressursen. La oss anta at en nettapplikasjon på en server har registreringer av flere ansatte. La oss anta at URL-en til nettapplikasjonen er https://demo.guru99.com. Nå for å få tilgang til en ansattpostressurs via REST-tjenester, kan man utstede kommandoen https://demo.guru99.com/employee/1 – Denne kommandoen ber webserveren om å oppgi detaljene til den ansatte med ansattnummer 1.
- Be om verb – Disse beskriver hva du ønsker å gjøre med ressursen. En nettleser utsteder et GET-verb for å instruere endepunktet den ønsker å hente data. Imidlertid er det mange andre verb tilgjengelig, inkludert ting som POST, PUT og DELETE. Så når det gjelder eksempelet https://demo.guru99.com/employee/1 , utsteder nettleseren faktisk et GET-verb fordi den ønsker å få detaljene i ansattposten.
- Be om overskrifter – Dette er tilleggsinstruksjoner som sendes sammen med forespørselen. Disse kan definere typen svar som kreves eller autorisasjonsdetaljene.
- Forespørselsorgan – Data sendes med forespørselen. Data sendes normalt i forespørselen når en POST-forespørsel sendes til REST-netttjenestene. I et POST-anrop forteller klienten faktisk REST-netttjenestene at den ønsker å legge til en ressurs til serveren. Derfor vil forespørselsorganet ha detaljene om ressursen som kreves for å legges til serveren.
- Responsorgan – Dette er hoveddelen av svaret. Så i vårt RESTful API-eksempel, hvis vi skulle spørre nettserveren via forespørselen https://demo.guru99.com/employee/1 , kan webserveren returnere et XML-dokument med alle detaljene til den ansatte i responsorganet.
- Responsstatuskoder – Disse kodene er de generelle kodene som returneres sammen med svaret fra webserveren. Et eksempel er koden 200 som normalt returneres dersom det ikke er noen feil ved retur av svar til klienten.
Avslappende metoder
Diagrammet nedenfor viser stort sett alle verbene (POST, GET, PUT og DELETE) og et REST API-eksempel på hva de vil bety.
La oss anta at vi har en RESTful webtjeneste er definert på stedet. https://demo.guru99.com/employee . Når klienten sender en forespørsel til denne webtjenesten, kan den spesifisere alle de vanlige HTTP-verbene GET, POST, DELETE og PUT. Nedenfor er hva som ville skje hvis de respektive verbene ble sendt av klienten.
- POST – Dette vil bli brukt til å opprette en ny medarbeider ved å bruke RESTful-netttjenesten
- GET – Dette vil bli brukt til å få en liste over alle ansatte som bruker RESTful-netttjenesten
- PUT – Dette vil bli brukt til å oppdatere alle ansatte som bruker RESTful-netttjenesten
- SLETT – Dette vil bli brukt til å slette alle ansatte som bruker RESTful-tjenestene
La oss ta en titt fra et perspektiv av bare en enkelt plate. La oss si at det var en ansattrekord med ansattnummeret 1.
Følgende handlinger vil ha sine respektive betydninger.
- POST – Dette vil ikke være aktuelt siden vi henter data til ansatt 1 som allerede er opprettet.
- GET – Dette vil bli brukt til å få detaljene til den ansatte med ansattnummer som 1 ved å bruke RESTful-netttjenesten
- PUT – Dette vil bli brukt til å oppdatere detaljene til den ansatte med ansattnummer som 1 ved å bruke RESTful-netttjenesten
- SLETT – Dette brukes til å slette detaljene til den ansatte med ansattnummer som 1
Hvorfor avslappende
Avslappende ble for det meste populær på grunn av følgende årsaker:
1. Heterogene språk og miljøer – Dette er en av de grunnleggende årsakene som er de samme som vi har sett for SOAP også.
- Den gjør det mulig for nettapplikasjoner som er bygget på ulike programmeringsspråk å kommunisere med hverandre
- Ved hjelp av Restful-tjenester kan disse nettapplikasjonene ligge i forskjellige miljøer, noen kan være på Windows, og andre kan være på Linux.
Men til syvende og sist, uansett hva miljøet er, skal sluttresultatet alltid være det samme som at de skal kunne snakke med hverandre. Avslappende webtjenester tilbyr denne fleksibiliteten til applikasjoner bygget på ulike programmeringsspråk og plattformer for å snakke med hverandre.
Bildet nedenfor gir et eksempel på en nettapplikasjon som har et krav om å snakke med andre applikasjoner som Facebook, Twitter og Google.
Nå hvis en klientapplikasjon måtte fungere med nettsteder som Facebook, Twitter, etc., ville de sannsynligvis måtte vite hva som er språket Facebook, Google og Twitter er bygd på, og også på hvilken plattform de er bygd på.
Basert på dette kan vi skrive grensesnittkoden for nettapplikasjonen vår, men dette kan vise seg å være et mareritt.
Facebook, Twitter og Google viser funksjonaliteten deres i form av Restful-netttjenester. Dette gjør at enhver klientapplikasjon kan ringe disse webtjenestene via REST.
2. Hendelsen av enheter – Nå for tiden må alt jobbes videre Mobil enheter, enten det er den mobile enheten, bærbare datamaskiner eller til og med bilsystemer.
Kan du forestille deg hvor mye innsats det er å prøve å kode applikasjoner på disse enhetene for å snakke med vanlige nettapplikasjoner? Igjen kan Restful API-er gjøre denne jobben enklere fordi som nevnt i punkt nummer 1, trenger du egentlig ikke å vite hva som er det underliggende laget for enheten.
3. Endelig er begivenheten i skyen – Alt beveger seg til skyen. Applikasjoner beveger seg sakte til skybaserte systemer som f.eks Azure or Amazon. Azure og Amazon gir mange API-er basert på Restful-arkitekturen. Derfor må applikasjoner nå utvikles på en slik måte at de gjøres kompatible med skyen. Så siden alle skybaserte arkitekturer fungerer etter REST-prinsippet, er det mer fornuftig at webtjenester programmeres på den REST-tjenestebaserte arkitekturen for å utnytte skybaserte tjenester best mulig.
Avslappende Architecture
En applikasjon eller arkitektur som anses som RESTful eller REST-stil har følgende egenskaper
1. Tilstand og funksjonalitet er delt inn i distribuerte ressurser – Dette betyr at hver ressurs skal være tilgjengelig via de vanlige HTTP-kommandoene GET, POST, PUT eller DELETE. Så hvis noen ønsket å hente en fil fra en server, burde de kunne sende GET-forespørselen og hente filen. Hvis de ønsker å legge en fil på serveren, bør de enten kunne sende POST- eller PUT-forespørselen. Og til slutt, hvis de ønsket å slette en fil fra serveren, kan de sende SLETT-forespørselen.
2. Arkitekturen er klient/server, statsløs, lagdelt og støtter caching
- Klient-server er den typiske arkitekturen der serveren kan være webserveren som er vert for applikasjonen, og klienten kan være like enkel som nettleseren.
- Stateless betyr at tilstanden til applikasjonen ikke opprettholdes i REST. Hvis du for eksempel sletter en ressurs fra en server ved å bruke DELETE-kommandoen, kan du ikke forvente at sletteinformasjonen sendes til neste forespørsel.
For å sikre at ressursen slettes, må du sende GET-forespørselen. GET-forespørselen vil bli brukt til først å få alle ressursene på serveren. Deretter må man se om ressursen faktisk ble slettet.
AVSLUTTENDE prinsipper og begrensninger
REST-arkitekturen er basert på noen få egenskaper som er utdypet nedenfor. Enhver RESTful-netttjeneste må overholde egenskapene nedenfor for at den skal kunne kalles RESTful. Disse egenskapene er også kjent som designprinsipper som må følges når man arbeider med RESTful-baserte tjenester.
Dette er det mest grunnleggende kravet til en REST-basert arkitektur. Det betyr at serveren vil ha en RESTful webtjeneste som vil gi den nødvendige funksjonaliteten til klienten. Klienten sender en forespørsel til webtjenesten på serveren. Serveren vil enten avvise forespørselen eller etterkomme og gi et tilstrekkelig svar til klienten.
- statsløs
Konseptet med statsløs betyr at det er opp til klienten å sørge for at all nødvendig informasjon blir gitt til serveren. Dette er nødvendig for at serveren skal kunne behandle svaret på riktig måte. Serveren skal ikke opprettholde noen form for informasjon mellom forespørsler fra klienten. Det er en veldig enkel uavhengig spørsmål-svar-sekvens. Klienten stiller et spørsmål, serveren svarer riktig på det. Kunden vil stille et annet spørsmål. Serveren vil ikke huske det forrige spørsmål-svar-scenarioet og må svare på det nye spørsmålet uavhengig.
- Cache
Cache-konseptet er å hjelpe med problemet med statsløse som ble beskrevet i det siste punktet. Siden hver serverklientforespørsel er uavhengig av natur, kan det hende at klienten spør serveren om den samme forespørselen igjen. Dette selv om den allerede hadde bedt om det tidligere. Denne forespørselen vil gå til serveren, og serveren vil gi et svar. Dette øker trafikken over nettverket. Cachen er et konsept implementert på klienten for å lagre forespørsler som allerede er sendt til serveren. Så hvis den samme forespørselen er gitt av klienten, i stedet for å gå til serveren, vil den gå til hurtigbufferen og få den nødvendige informasjonen. Dette sparer mengden frem og tilbake nettverkstrafikk fra klienten til serveren.
- Lagdelt system
Konseptet med et lagdelt system er at et hvilket som helst ekstra lag, for eksempel et mellomvarelag, kan settes inn mellom klienten og den faktiske serveren som er vert for RESTFul-webtjenesten (mellomvarelaget er der all forretningslogikk opprettes. Dette kan være en ekstra tjeneste opprettet som klienten kan samhandle med før den ringer til nettjenesten.). Men introduksjonen av dette laget må være gjennomsiktig slik at det ikke forstyrrer interaksjonen mellom klienten og serveren.
- Grensesnitt/uniform kontrakt
Dette er den underliggende teknikken for hvordan RESTful webtjenester skal fungere. RESTful fungerer i utgangspunktet på HTTP-nettlaget og bruker nøkkelverbene nedenfor for å jobbe med ressurser på serveren
- POST – For å opprette en ressurs på serveren
- GET – For å hente en ressurs fra serveren
- PUT – For å endre tilstanden til en ressurs eller for å oppdatere den
- SLETT – For å fjerne eller slette en ressurs fra serveren
Lag din første Restful-webtjeneste i ASP.NET
Nå i denne REST API-opplæringen lærer vi hvordan du lager en Restful-webtjeneste i ASP.NET:
Webtjenester kan lages på en rekke språk. Mange integrerte utviklingsmiljøer kan brukes til å lage REST-baserte tjenester.
I dette RESTful API-eksemplet skal vi lage REST-applikasjonen vår i .Net ved å bruke Visual Studio. I vårt eksempel, for Restful webtjenester, skal vi etterligne følgende REST-tjenesteeksempel.
Vi kommer til å ha en Restful-netttjeneste som vil fungere med datasettet nedenfor.
Datasettet nedenfor representerer et REST API-eksempel på å ha et selskap som eksponerer opplæringen de har basert på Tutorialid.
| Tutorialid | Opplæringsnavn |
|---|---|
| 0 | arrays |
| 1 | køer |
| 2 | Stabler |
I vårt REST API-opplæringseksempel skal vi implementere Restful Verbs nedenfor.
- FÅ veiledning – Når en klient påkaller denne Restful API, vil de få hele settet med veiledninger som er tilgjengelig fra nettjenesten.
- FÅ Tutorial/Tutorialid – Når en klient påkaller denne Restful API, vil de få opplæringsnavnet basert på opplærings-ID sendt av klienten.
- POST veiledning/opplæringsnavn – Når en klient påkaller denne Restful API, vil klienten sende inn en forespørsel om å sette inn et opplæringsnavn. Netttjenesten vil deretter legge til det innsendte opplæringsnavnet til samlingen.
- SLETT Opplæring/Tutorialid– Når en klient påkaller denne Restful API, vil klienten sende inn en forespørsel om å slette et opplæringsnavn basert på Tutorialid. Netttjenesten vil da slette det innsendte opplæringsnavnet fra samlingen.
La oss følge trinnene nedenfor i denne RESTful API-opplæringen for å lage våre første RESTful-netttjenester, som utfører implementeringen ovenfor.
Hvordan lage din første avslappende webtjeneste
Trinn 1) Opprett nytt prosjekt.
Det første trinnet er å lage en tom Asp.Net Webapplikasjon. Fra Visual Studio 2013 klikker du på menyvalget Fil->Nytt prosjekt.
Når du klikker på alternativet Nytt prosjekt, vil Visual Studio gi deg en annen dialogboks for å velge type prosjekt og for å gi de nødvendige detaljene om prosjektet. Dette er forklart i neste trinn i denne RESTful API-opplæringen
Trinn 2) Skriv inn prosjektnavn og plassering.
- Sørg for å først velge RESTful-netttjenestene C# nettmal for ASP.NET webapplikasjon. Prosjektet må være av denne typen for å kunne lage webtjenester-prosjekt. Ved å velge dette alternativet, vil Visual Studio deretter utføre de nødvendige trinnene for å legge til nødvendige filer som kreves av enhver nettbasert applikasjon.
- Gi et navn på prosjektet ditt som i vårt tilfelle har blitt gitt som "Webservice.REST".
- Sørg deretter for å gi en plassering hvor prosjektfilene vil bli lagret.
Når du er ferdig, vil du se prosjektfilen opprettet i løsningsutforskeren i Visual Studio 2013.
Trinn 3) Opprett webtjenestefilen.
Det neste trinnet er å lage webtjenestefilen som skal ha RESTful-webtjenesten
- Først Høyreklikk på prosjektfilen som vist nedenfor
- I dette trinnet
- Høyreklikk på prosjektfilen
- Velg alternativet "Legg til->nytt element."
I dialogboksen som vises, må du utføre følgende
- Velg alternativet WCF Service (Ajax-aktivert) – Velg en fil av denne typen, det fører til Visual studio å legge til noen grunnleggende kode som hjelper en å lage en RESTful webtjeneste. WCF står for Windows Kommunikasjon Foundation. WCF er et bibliotek for applikasjoner av forskjellige plattformer eller samme plattform for å kommunisere over de forskjellige protokollene som TCP, HTTP, HTTPS. Ajax er i utgangspunktet asynkron JavaScript og XML. AJAX lar nettsider oppdateres asynkront ved å utveksle små mengder data med serveren bak kulissene.
- Gi deretter et navn for tjenesten som er TutorialService i vårt tilfelle.
- Til slutt klikker du på Legg til-knappen for å legge til tjenesten i løsningen.
Trinn 4) Lag en konfigurasjon.
Det neste trinnet er å faktisk gjøre en konfigurasjonsendring for å gjøre dette prosjektet i stand til å fullføre arbeidet med RESTful webtjenester. Dette krever at du gjør en endring i filen som kalles Web.config. Denne filen vises i samme vindu som Webservice-prosjektfilen. Filen Web.config inneholder alle konfigurasjoner som gjør at nettapplikasjonen fungerer som den skal. Endringen som gjøres gjør det faktisk mulig for applikasjonen å sende og motta data som en ren RESTful webtjeneste.
- Klikk på Web.config-filen for å åpne koden
- Finn etter linjen
- Endre linjen til
Trinn 5) Legg til koden vår for implementering.
Det neste trinnet i denne RESTful API-opplæringen er å legge til koden vår for implementering. All koden nedenfor må skrives i TutorialService.svc-filen
- Den første biten er å legge til kode for å representere dataene våre som vil bli brukt i programmet vårt. Så vi kommer til å ha en liste over strengvariabler med verdiene "Arrays", "Queues" og "Stacks". Dette vil representere opplæringsnavnet som er tilgjengelig via vår hosting-webtjeneste.
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"});
Trinn 6) Definer koden for GET-metoden vår.
Deretter vil vi definere koden for GET-metoden vår. Denne koden vil også ligge i den samme TutorialService.svc-filen. Denne koden vil kjøre hver gang vi ringer tjenesten fra nettleseren vår.
Metoden nedenfor vil bli brukt for å oppfylle scenariet nedenfor
- Hvis en bruker vil ha en liste over alle tilgjengelige opplæringsprogrammer, må koden nedenfor skrives for å oppnå 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 linjen med kode er den viktigste. Den brukes til å definere hvordan vi kan kalle denne metoden via en URL. Så hvis lenken til vår nettjeneste er http://localhost:52645/TutorialService.svc og hvis vi legger til '/Tutorial' til URL-en som http://localhost:52645/TutorialService.svc/Tutorial , vil koden ovenfor bli påkalt. Attributten til 'WebGet' er en parameter som lar denne metoden være en RESTful-metode slik at den kan påkalles via GET-verbet.
- Denne delen av koden brukes til å gå gjennom listen vår over strenger i 'lst'-variabelen og returnere alle til det kallende programmet.
Trinn 7) Returner utgangen.
Koden nedenfor sikrer at hvis et GET-anrop foretas til opplæringstjenesten med en opplærings-ID, vil den returnere det tilsvarende opplæringsnavnet basert på opplærings-id.
[WebGet (UriTemplate = "/Tutorial/{Tutorialid}")]
public String GetTutorialbyID(String Tutorialid)
{
int pid;
Int32.TryParse(Tutorialid, out pid);
return lst[pid];
}
Kodeforklaring:-
- Den første linjen med kode er den viktigste. Den brukes til å definere hvordan vi kan kalle denne metoden via en URL. Så hvis lenken til vår nettjeneste er http://localhost:52645/TutorialService.svc og hvis vi legger til '/Tutorial/{Tutorialid}' til URL-en, vil vi kunne kalle nettjenesten som http://localhost:52645/TutorialService.svc/Tutorial/1 som et eksempel. Netttjenesten må da returnere opplæringsnavnet som hadde opplærings-id#1.
- Denne delen av koden brukes til å returnere "Tutorial name" som har opplærings-ID-en sendt til webmetoden.
- Som standard er det som må huskes at det som sendes til URL-en i nettleseren er en streng.
- Men du må huske at indeksen til listen vår må være et heltall, så vi legger til den nødvendige koden for først å konvertere Tutorialid til et heltall og deretter bruke den til å få tilgang til indeksposisjonen i listen vår og
- Returner deretter verdien til anropsprogrammet tilsvarende.
Trinn 8) Skriv koden for POST-metoden.
Det neste trinnet er å skrive opp koden for POST-metoden vår. Denne metoden vil bli påberopt når vi ønsker å legge til en strengverdi til vår liste over opplæringsprogrammer via POST-metoden. For eksempel, hvis du ønsker å legge til opplæringsnavnet "Programvaretesting", må du bruke POST-metoden.
Kodeforklaring:-
- Den første linjen er 'WebInvoke'-attributtet som er knyttet til metoden vår. Dette gjør at metoden kan påkalles via POST-anropet. RequestFormat- og ResponseFormat-attributtene må nevnes som JSON, siden når du poster verdier til en RESTFul-netttjeneste, må verdiene være i dette formatet.
- Den andre linjen med kode brukes til å legge til strengverdien som sendes via POST-kallet til vår eksisterende liste over opplæringsstrenger.
Trinn 9) Legg til metode for å håndtere SLETT-operasjonen.
Til slutt skal vi legge til metoden vår for å håndtere DELETE-operasjonen. Denne metoden vil bli påberopt når vi ønsker å slette en eksisterende strengverdi fra vår liste over opplæringsprogrammer 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 linjen er 'WebInvoke'-attributtet som er knyttet til metoden vår. Dette gjør at metoden kan påkalles via POST-anropet. RequestFormat- og ResponseFormat-attributtene må nevnes som JSON, siden når du poster verdier til en RESTFul-netttjeneste, må verdiene være i dette formatet. Merk at metodeparameteren settes til "DELETE." Dette betyr at hver gang vi utsteder DELETE-verbet, vil denne metoden bli påberopt.
- Den andre linjen med kode brukes til å ta Tutorialid sendt via DELETE-anropet og deretter slette den ID-en fra listen vår. (De Int32 funksjon i kode brukes til å konvertere opplærings-IDen fra en strengvariabel til et heltall).
Kjører din første Restful-webtjeneste
Nå som vi har laget hele webtjenesten vår i delen ovenfor. La oss se hvordan vi kan kjøre opplæringstjenesten slik at den kan påkalles fra enhver klient.
For å kjøre nettjenesten, følg trinnene nedenfor
Trinn 1) Høyreklikk på prosjektfilen – Webservice.REST
Trinn 2) Velg menyvalget 'Set as StartUp Project'. Dette vil sikre at dette prosjektet kjøres når Visual Studio kjører hele løsningen
Trinn 3) Neste steg er å kjøre selve prosjektet. Nå, avhengig av standard nettleser installert på systemet, vil det aktuelle nettlesernavnet komme ved siden av kjør-knappen i Visual Studio. I vårt tilfelle har vi det Google Chrome dukker opp. Bare klikk på denne knappen.
Produksjon:-
Når prosjektet er kjørt, kan du bla til TutorialService.svc/Tutorial-delen, og du vil få utdataene nedenfor.
I utgangen ovenfor,
- Du kan se at nettleseren påkaller «GET»-verbet og utfører «GetAllTutorial»-metoden i nettjenesten. Denne modulen brukes til å vise alle veiledningene som vises av vår nettjeneste.
Tester din første Restful-webtjeneste
I avsnittet ovenfor har vi allerede sett hvordan du bruker nettleseren til å utføre 'GET'-verbet og påkalle 'GetAllTutorial'.
- La oss nå bruke nettleseren til å utføre følgende bruksscenario.
GET Tutorial/Tutorialid – Når en klient påkaller denne Restful API, vil de få opplæringsnavnet basert på Tutorialid sendt av klienten
I nettleseren din legger du til strengen /1 etter opplæringsordet i URL-en. Hvis du trykker på enter-knappen, vil du få utgangen nedenfor
Nå vil du se utdataene til køer som faktisk tilsvarer tallet 1 i listen vår over opplæringsstrenger. Dette betyr at 'GetTutorialbyID'-metoden nå blir påberopt fra vår webtjeneste. Det viser også at verdien av 1 sendes vellykket via nettleseren til vår nettjeneste og til metoden vår, og at det er grunnen til at vi får den riktige tilsvarende verdien av "køer" i nettleseren.
- La oss deretter bruke nettjenesten vår ved å utføre scenariet nedenfor. For dette må du installere verktøyet kalt "Fiddler” som er et gratis nedlastbart verktøy fra nettstedet.
POST Tutorial/Tutorialname – Når en klient påkaller denne Restful API, vil klienten sende inn en forespørsel om å sette inn et Tutorialnavn. Netttjenesten vil deretter legge til det innsendte opplæringsnavnet til samlingen.
Kjør Filddler-verktøyet og utfør trinnene nedenfor;
- Gå til komponistdelen. Dette brukes til å lage forespørsler som kan sendes til en hvilken som helst webapplikasjon.
- Sørg for at forespørselstypen er "POST" og at riktig URL blir truffet, noe som i vårt tilfelle burde være det http://localhost:52645/TutorialService.svc/Tutorial
- Sørg for at Content-Type er merket som application/json. Husk at vår POST-forespørselsmetode i vår webtjeneste bare aksepterer json-stildata, så vi må sørge for at dette er spesifisert når vi sender en forespørsel til applikasjonen vår.
- Til slutt må vi legge inn dataene våre. Husk at metoden vår for POST godtar en parameter kalt 'str.' Så her spesifiserer vi at vi ønsker å legge til en verdi kalt "Trær" til samlingen av opplæringsnavn og sikre at den er merket til str-variabelnavnet.
Til slutt klikker du bare på Utfør-knappen i fiddler. Dette vil sende en forespørsel til webtjenesten om å POSTE data "Trær" til vår nettjeneste.
Nå, når vi blar til veiledningens URL for å vise alle strengene i opplæringslisten vår, vil du nå se at verdien av "Trær" også er til stede. Dette viser at POST-forespørselen til nettjenesten ble utført og at den ble lagt til i opplæringslisten vår.
- La oss deretter bruke nettjenesten vår ved å utføre scenariet nedenfor. Til dette må vi også bruke spelemannverktøyet
SLETT Tutorial/Tutorialid- Når en klient påkaller denne Restful API, vil klienten sende inn en forespørsel om å slette et Tutorialnavn basert på Tutorialid. Netttjenesten vil da slette det innsendte opplæringsnavnet fra samlingen.
Kjør Filddler-verktøyet og utfør trinnene nedenfor
- Gå til komponistdelen. Dette brukes til å lage forespørsler som kan sendes til en hvilken som helst webapplikasjon.
- Sørg for at forespørselstypen er "SLETT" og at riktig URL blir truffet, noe som i vårt tilfelle burde være det http://localhost:52645/TutorialService.svc/Tutorial. Sørg for at ID-en som brukes til å slette en streng i listen sendes via URL-en som en parameter. I vårt REST-eksempel sender vi 1, så dette vil slette 2nd element i samlingen vår som er "køer".
Til slutt klikker du bare på Utfør-knappen i fiddler. Dette vil sende en forespørsel til webtjenesten om å SLETTE dataene "køer" til vår nettjeneste.
Nå, når vi blar til veiledningens URL for å vise alle strengene i opplæringslisten vår, vil du legge merke til at verdien av "køer" ikke lenger er til stede.
Dette viser at SLETT-forespørselen til webtjenesten ble utført. Elementet ved indeksnummer 1 i listen vår over opplæringsstrenger ble slettet.
Sammendrag
- REST står for REpresentational State Transfer. REST brukes til å bygge netttjenester som er lette, vedlikeholdbare og skalerbare.
- Flere og flere applikasjoner flytter til Restful-arkitekturen. Dette er fordi det er mange mennesker som nå bruker mobile enheter og et bredere utvalg av applikasjoner som flytter til skyen.
- Hovedaspektene ved REST er ressursene som ligger på serveren og verbene GET, POST, PUT og DELETE, som kan brukes til å arbeide med disse ressursene.
- Visual Studio and.Net kan brukes til å lage Restful webtjenester.
- Når Testing webtjenester for POST og PUT, må du bruke et annet verktøy kalt fiddler som kan brukes til å sende POST- og PUT-forespørselen til serveren.



























