Wat zijn rustgevende webservices?
Restful Web Services is een lichtgewicht, onderhoudbare en schaalbare service die is gebouwd op de REST-architectuur. Restful Web Service, stel de API van uw applicatie op een veilige, uniforme, staatloze manier bloot aan de aanroepende client. De oproepende client kan vooraf gedefinieerde bewerkingen uitvoeren met behulp van de Restful-service. Het onderliggende protocol voor REST is HTTP. REST staat voor REpresentational State Transfer.
In deze REST API-zelfstudie leert u:
- Rustige sleutelelementen
- Rustgevende methoden
- Waarom rustgevend
- Rustgevende architectuur
- RestFul principes en beperkingen
- Maak uw eerste Restful-webservice in ASP.NET
- Uw eerste Restful-webservice uitvoeren
- Uw eerste Restful-webservice testen
Rustige sleutelelementen
REST-webservices hebben echt een lange weg afgelegd sinds het begin. In 2002 had het webconsortium de definitie van WSDL- en SOAP-webservices vrijgegeven. Dit vormde de standaard voor hoe webservices worden geïmplementeerd.
In 2004 bracht het webconsortium ook de definitie uit van een aanvullende standaard genaamd RESTful. Deze standaard is de afgelopen jaren behoorlijk populair geworden. En wordt gebruikt door veel van de populaire websites over de hele wereld, waaronder Facebook en Twitter.
REST is een manier om toegang te krijgen tot bronnen die zich in een bepaalde omgeving bevinden. U kunt bijvoorbeeld een server hebben waarop belangrijke documenten, afbeeldingen of video's kunnen worden gehost. Dit zijn allemaal voorbeelden van bronnen. Als een klant, bijvoorbeeld een webbrowser, een van deze bronnen nodig heeft, moet deze een verzoek naar de server sturen om toegang te krijgen tot deze bronnen. Nu definieert REST-services een manier waarop deze bronnen kunnen worden benaderd.
De belangrijkste elementen van een RESTful-implementatie zijn als volgt:
-
Hulpbronnen - Het eerste sleutelelement is de hulpbron zelf. Stel dat een webapplicatie op een server records heeft van meerdere medewerkers. Laten we aannemen dat de URL van de webtoepassing http://demo.guru99.com is . Om nu via REST-services toegang te krijgen tot een bron voor werknemersrecords, kan men de opdracht http://demo.guru99.com/employee/1 geven - Deze opdracht vertelt de webserver om de details van de werknemer op te geven wiens werknemersnummer is 1.
-
Verzoekwerkwoorden - Deze beschrijven wat u met de bron wilt doen. Een browser geeft een GET-werkwoord uit om het eindpunt te instrueren dat het gegevens wil ophalen. Er zijn echter veel andere werkwoorden beschikbaar, waaronder dingen als POST, PUT en DELETE. Dus in het geval van het voorbeeld http://demo.guru99.com/employee/1 , geeft de webbrowser in feite een GET-werkwoord uit omdat hij de details van het werknemersrecord wil opvragen.
-
Request Headers - Dit zijn aanvullende instructies die met het verzoek worden verzonden. Deze kunnen het vereiste type antwoord of de autorisatiegegevens bepalen.
-
Aanvraaginstantie - De gegevens worden met het verzoek meegestuurd. Gegevens worden normaal gesproken in het verzoek verzonden wanneer een POST-verzoek wordt gedaan aan de REST-webservices. In een POST-oproep vertelt de client de REST-webservices feitelijk dat hij een bron aan de server wil toevoegen. Het hoofdgedeelte van het verzoek zou dus de details hebben van de bron die aan de server moet worden toegevoegd.
-
Response Body - Dit is de hoofdtekst van de respons. Dus in ons RESTful API-voorbeeld, als we de webserver zouden opvragen via het verzoek http://demo.guru99.com/employee/1 , zou de webserver een XML-document kunnen retourneren met alle details van de werknemer in het antwoord Lichaam.
-
Response Status codes - Deze codes zijn de algemene codes die samen met de respons van de webserver worden geretourneerd. Een voorbeeld is de code 200 die normaal gesproken wordt geretourneerd als er geen fout is bij het retourneren van een antwoord aan de client.
Rustgevende methoden
Het onderstaande diagram toont vrijwel alle werkwoorden (POST, GET, PUT en DELETE) en een REST API-voorbeeld van wat ze zouden betekenen.
Laten we aannemen dat we een RESTful-webservice hebben die op de locatie is gedefinieerd. http://demo.guru99.com/medewerker . Wanneer de client een verzoek indient bij deze webservice, kan deze een van de normale HTTP-werkwoorden GET, POST, DELETE en PUT specificeren. Hieronder ziet u wat er zou gebeuren als de respectieve werkwoorden door de klant werden verzonden.
- POST - Dit zou worden gebruikt om een nieuwe werknemer aan te maken met behulp van de RESTful-webservice
- GET - Dit zou worden gebruikt om een lijst te krijgen van alle werknemers die de RESTful-webservice gebruiken
- PUT - Dit zou worden gebruikt om alle werknemers bij te werken met behulp van de RESTful-webservice
- VERWIJDEREN - Dit zou worden gebruikt om alle werknemers te verwijderen met behulp van de RESTful-services
Laten we eens kijken vanuit het perspectief van slechts één record. Stel dat er een werknemersrecord was met het werknemersnummer 1.
De volgende acties zouden hun respectievelijke betekenis hebben.
- POST - Dit zou niet van toepassing zijn omdat we gegevens van werknemer 1 ophalen die al zijn gemaakt.
- GET - Dit zou worden gebruikt om de details van de werknemer met werknemer nr. 1 te krijgen met behulp van de RESTful-webservice
- PUT - Dit zou worden gebruikt om de details van de werknemer bij te werken met werknemer nr. 1 met behulp van de RESTful-webservice
- VERWIJDEREN - Dit wordt gebruikt om de details van de werknemer te verwijderen met Werknemer nr als 1
Waarom rustgevend
Rustgevend werd vooral populair vanwege de volgende redenen:
- Heterogene talen en omgevingen - Dit is een van de fundamentele redenen die dezelfde is als we ook voor SOAP hebben gezien.
- Het stelt webtoepassingen die zijn gebouwd op verschillende programmeertalen in staat om met elkaar te communiceren
- Met behulp van Restful-services kunnen deze webtoepassingen zich in verschillende omgevingen bevinden, sommige op Windows en andere op Linux.
Maar uiteindelijk, ongeacht de omgeving, moet het eindresultaat altijd hetzelfde zijn dat ze met elkaar moeten kunnen praten. Rustgevende webservices bieden deze flexibiliteit aan applicaties die zijn gebouwd op verschillende programmeertalen en platforms om met elkaar te praten.
De onderstaande afbeelding geeft een voorbeeld van een webtoepassing die moet communiceren met andere toepassingen zoals Facebook, Twitter en Google.
Als een clienttoepassing nu zou moeten werken met sites als Facebook, Twitter, enz., Zouden ze waarschijnlijk moeten weten in welke taal Facebook, Google en Twitter zijn gebouwd, en ook op welk platform ze zijn gebouwd.
Op basis hiervan kunnen we de interfacecode voor onze webapplicatie schrijven, maar dit kan een nachtmerrie blijken te zijn.
Facebook, Twitter en Google stellen hun functionaliteit bloot in de vorm van Restful webservices. Hierdoor kan elke clienttoepassing deze webservices aanroepen via REST.
- Het geval van apparaten - Tegenwoordig moet alles op mobiele apparaten werken, of het nu gaat om het mobiele apparaat, de notebooks of zelfs autosystemen.
Kunt u zich voorstellen hoeveel moeite het kost om applicaties op deze apparaten te coderen om met normale webapplicaties te communiceren? Nogmaals, Restful API's kunnen deze taak eenvoudiger maken, omdat u, zoals vermeld in punt 1, echt niet hoeft te weten wat de onderliggende laag voor het apparaat is.
- Eindelijk is het evenement van de Cloud - Alles gaat naar de cloud. Applicaties verplaatsen zich langzaam naar cloudgebaseerde systemen zoals in Azure of Amazon. Azure en Amazon bieden veel API's op basis van de Restful-architectuur. Daarom moeten applicaties nu zo worden ontwikkeld dat ze compatibel worden gemaakt met de Cloud. Aangezien alle cloudgebaseerde architecturen werken volgens het REST-principe, is het logischer dat webservices worden geprogrammeerd op de op REST-services gebaseerde architectuur om optimaal gebruik te maken van cloudgebaseerde services.
Rustgevende architectuur
Een applicatie of architectuur die als RESTful of REST-stijl wordt beschouwd, heeft de volgende kenmerken
- Status en functionaliteit zijn onderverdeeld in gedistribueerde bronnen - Dit betekent dat elke bron toegankelijk moet zijn via de normale HTTP-opdrachten GET, POST, PUT of DELETE. Dus als iemand een bestand van een server wil krijgen, moet hij of zij het GET-verzoek kunnen indienen en het bestand kunnen ophalen. Als ze een bestand op de server willen zetten, moeten ze het POST- of PUT-verzoek kunnen indienen. En tot slot, als ze een bestand van de server willen verwijderen, geven ze het DELETE-verzoek uit.
- De architectuur is client / server, staatloos, gelaagd en ondersteunt caching -
- Client-server is de typische architectuur waarbij de server de webserver kan zijn die de applicatie host, en de client kan net zo eenvoudig zijn als de webbrowser.
- Stateless betekent dat de status van de applicatie niet wordt onderhouden in REST.
Als u bijvoorbeeld een bron van een server verwijdert met de opdracht DELETE, kunt u niet verwachten dat die verwijderingsinformatie wordt doorgegeven aan het volgende verzoek.
Om ervoor te zorgen dat de bron wordt verwijderd, moet u het GET-verzoek indienen. Het GET-verzoek wordt gebruikt om eerst alle bronnen op de server op te halen. Waarna men zou moeten zien of de bron daadwerkelijk is verwijderd.
RESTFul-principes en beperkingen
De REST-architectuur is gebaseerd op enkele kenmerken die hieronder worden uitgewerkt. Elke RESTful-webservice moet voldoen aan de onderstaande kenmerken om RESTful te worden genoemd. Deze kenmerken staan ook bekend als ontwerpprincipes die moeten worden gevolgd bij het werken met op RESTful gebaseerde services.
- RESTFul Client-Server
Dit is de meest fundamentele vereiste van een op REST gebaseerde architectuur. Het betekent dat de server een RESTful-webservice heeft die de vereiste functionaliteit aan de client zou bieden. De client stuurt een verzoek naar de webservice op de server. De server zou het verzoek afwijzen of voldoen en een adequaat antwoord geven aan de klant.
- Staatloos
Het concept van staatloos betekent dat het aan de klant is om ervoor te zorgen dat alle vereiste informatie aan de server wordt verstrekt. Dit is vereist zodat de server het antwoord op de juiste manier kan verwerken. De server mag geen informatie bewaren tussen verzoeken van de client. Het is een heel eenvoudige, onafhankelijke vraag-antwoordreeks. De klant stelt een vraag, de server beantwoordt deze op gepaste wijze. De klant zal een andere vraag stellen. De server herinnert zich het vorige vraag-antwoordscenario niet en zal de nieuwe vraag zelfstandig moeten beantwoorden.
- Cache
Het cacheconcept is bedoeld om te helpen bij het probleem van staatloos, dat in het laatste punt werd beschreven. Aangezien elk verzoek van de serverclient onafhankelijk van aard is, kan de cliënt de server soms opnieuw om hetzelfde verzoek vragen. Dit ondanks het feit dat het er in het verleden al om had gevraagd. Dit verzoek gaat naar de server en de server geeft een antwoord. Dit verhoogt het verkeer over het netwerk. De cache is een concept dat op de client is geïmplementeerd om verzoeken op te slaan die al naar de server zijn verzonden. Dus als hetzelfde verzoek door de client wordt gedaan, gaat het in plaats van naar de server naar de cache en krijgt het de vereiste informatie. Dit bespaart de hoeveelheid heen en weer netwerkverkeer van de client naar de server.
- Gelaagd systeem
Het concept van een gelaagd systeem is dat elke extra laag, zoals een middleware-laag, kan worden ingevoegd tussen de client en de daadwerkelijke server die de RESTFul-webservice host (de middleware-laag is waar alle bedrijfslogica wordt gecreëerd. Dit kan een extra service zijn). gemaakt waarmee de klant kan communiceren voordat hij de webservice belt.). Maar de introductie van deze laag moet transparant zijn, zodat het de interactie tussen de client en de server niet verstoort.
- Interface / uniform contract
Dit is de onderliggende techniek van hoe RESTful-webservices zouden moeten werken. RESTful werkt in principe op de HTTP-weblaag en gebruikt de onderstaande sleutelwoorden om met bronnen op de server te werken
- POST - Om een bron op de server te maken
- GET - Om een bron van de server op te halen
- PUT - Om de status van een bron te wijzigen of bij te werken
- VERWIJDEREN - Om een bron van de server te verwijderen of te verwijderen
Maak uw eerste Restful-webservice in ASP.NET
Nu zullen we in deze REST API-zelfstudie leren hoe u een Restful-webservice in ASP.NET kunt maken:
Webservices kunnen in verschillende talen worden gemaakt. Veel geïntegreerde ontwikkelomgevingen kunnen worden gebruikt om op REST gebaseerde services te creëren.
In dit RESTful API-voorbeeld gaan we onze REST-applicatie maken in .Net met Visual Studio. In ons voorbeeld gaan we voor Restful-webservices het volgende REST-servicevoorbeeld emuleren.
We gaan een Restful-webservice hebben die werkt met de onderstaande set gegevens.
De onderstaande set gegevens vertegenwoordigt een REST API-voorbeeld van het hebben van een bedrijf dat de Tutorials die ze hebben op basis van de Tutorialid laat zien.
Tutorialid | TutorialName |
0 | Arrays |
1 | Wachtrijen |
2 | Stapels |
In ons REST API-zelfstudievoorbeeld gaan we de onderstaande Restful Verbs implementeren.
- GET Tutorial - Wanneer een klant deze Restful API aanroept, krijgt deze de volledige set Tutorials die beschikbaar is via de webservice.
- GET Tutorial / Tutorialid - Wanneer een client deze Restful API aanroept, krijgt deze de Tutorial-naam op basis van de Tutorialid die door de client is verzonden.
- POST Tutorial / Tutorialname - Wanneer een cliënt deze Restful API aanroept, zal de cliënt een verzoek indienen om een Tutorialnaam in te voegen. De webservice voegt dan de ingediende Tutorial-naam toe aan de collectie.
- VERWIJDER Tutorial / Tutorialid- Wanneer een klant deze Restful API aanroept, zal de klant een verzoek indienen om een Tutorialnaam te verwijderen op basis van de Tutorialid. De webservice verwijdert dan de ingediende Tutorial-naam uit de collectie.
Laten we de onderstaande stappen in deze RESTful API-zelfstudie volgen om onze eerste RESTful-webservices te maken, die de bovenstaande implementatie uitvoeren.
Stap 1) De eerste stap is het maken van een lege Asp.Net-webtoepassing. Klik vanuit Visual Studio 2013 op de menuoptie Bestand-> Nieuw project.
Zodra u op de optie Nieuw project klikt, geeft Visual Studio u een ander dialoogvenster om het type project te kiezen en om de nodige details van het project te geven. Dit wordt uitgelegd in de volgende stap van deze RESTful API-zelfstudie
Stap 2) In deze stap,
- Zorg ervoor dat u eerst de C # -websjabloon RESTful webservices van de ASP.NET-webtoepassing kiest. Het project moet van dit type zijn om een webservicesproject te kunnen maken. Door deze optie te kiezen, voert Visual Studio vervolgens de nodige stappen uit om de vereiste bestanden toe te voegen die vereist zijn voor elke webgebaseerde toepassing.
- Geef een naam voor uw project die in ons geval is gegeven als "Webservice.REST".
- Zorg er dan voor dat u een locatie opgeeft waar de projectbestanden worden opgeslagen.
Als u klaar bent, ziet u het projectbestand dat is gemaakt in uw oplossingsverkenner in Visual Studio 2013.
Stap 3) De volgende stap is het maken van het webservicebestand dat de RESTful-webservice zal hebben
- Klik eerst met de rechtermuisknop op het projectbestand, zoals hieronder weergegeven
- In deze stap
- Klik met de rechtermuisknop op het projectbestand
- Kies de optie "Toevoegen-> nieuw item."
In het dialoogvenster dat verschijnt, moet u het volgende doen
- Kies de optie WCF Service (Ajax-enabled) - Kies een bestand van dit type, het zorgt ervoor dat de Visual Studio wat basiscode toevoegt die iemand helpt bij het maken van een RESTful-webservice. WCF staat voor Windows Communication Foundation. WCF is een bibliotheek voor toepassingen van verschillende platforms of hetzelfde platform om te communiceren via de verschillende protocollen zoals TCP, HTTP, HTTPS. Ajax is in feite asynchroon JavaScript en XML. Met AJAX kunnen webpagina's asynchroon worden bijgewerkt door kleine hoeveelheden gegevens uit te wisselen met de server achter de schermen.
- Geef vervolgens een naam op voor de service die in ons geval TutorialService is.
- Klik ten slotte op de knop Toevoegen om de service aan de oplossing toe te voegen.
Stap 4) De volgende stap is om daadwerkelijk een configuratiewijziging aan te brengen zodat dit project het werk met RESTful webservices kan voltooien. Dit vereist een wijziging in het bestand met de naam Web.config . Dit bestand verschijnt in hetzelfde venster als het Webservice-projectbestand. Het bestand Web.config bevat alle configuraties die de webapplicatie naar behoren laten werken. Door de wijziging die wordt aangebracht, kan de toepassing gegevens verzenden en ontvangen als een pure RESTful-webservice.
- Klik op het bestand Web.config om de code te openen
- Zoek naar de regel
- Verander de regel in
Stap 5) De volgende stap in deze RESTful API-tutorial is om onze code toe te voegen voor implementatie. Alle onderstaande code moet in het TutorialService.svc-bestand worden geschreven
- Het eerste bit is om code toe te voegen om onze gegevens weer te geven die in ons programma zullen worden gebruikt. We hebben dus een lijst met stringvariabelen met waarden van "Arrays", "Queues" en "Stacks". Dit vertegenwoordigt de naam van de tutorials die beschikbaar is via onze hostingwebservice.
namespace Webservice.REST{[ServiceContract(Namespace = "")][AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowedpublic class TutorialService{private static Listlst = new List (new String[] {"Arrays","Queues","Stacks"});
Stap 6) Vervolgens zullen we de code voor onze GET-methode definiëren. Deze code bevindt zich ook in hetzelfde TutorialService.svc-bestand. Deze code wordt uitgevoerd wanneer we de service vanuit onze browser bellen.
De onderstaande methode zal worden gebruikt om aan het onderstaande scenario te voldoen
- Als een gebruiker een lijst wil met alle beschikbare tutorials, dan moet de onderstaande code worden geschreven om dit te bereiken.
[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;}
Code Verklaring: -
- De eerste regel code is de belangrijkste. Het wordt gebruikt om te definiëren hoe we deze methode via een URL kunnen aanroepen. Dus als de link naar onze webservice http: // localhost: 52645 / TutorialService.svc is en als we de '/ Tutorial' aan de URL toevoegen als http: // localhost: 52645 / TutorialService.svc / Tutorial , dan is de bovenstaande code zal worden aangeroepen. Het attribuut van 'WebGet' is een parameter waarmee deze methode een RESTful-methode kan zijn, zodat deze kan worden aangeroepen via het GET-werkwoord.
- Dit gedeelte van de code wordt gebruikt om onze lijst met strings in de 'lst'-variabele te doorlopen en ze allemaal terug te sturen naar het aanroepende programma.
Stap 7) De onderstaande code zorgt ervoor dat als een GET-oproep wordt gedaan naar de Tutorial-service met een Tutorial-ID, deze de corresponderende Tutorial-naam retourneert op basis van de Tutorial-ID.
[WebGet (UriTemplate = "/Tutorial/{Tutorialid}")]public String GetTutorialbyID(String Tutorialid){int pid;Int32.TryParse(Tutorialid, out pid);return lst[pid];}
Code Verklaring: -
- De eerste regel code is de belangrijkste. Het wordt gebruikt om te definiëren hoe we deze methode via een URL kunnen aanroepen. Dus als de link naar onze webservice http: // localhost: 52645 / TutorialService.svc is en we de '/ Tutorial / {Tutorialid}' aan de URL toevoegen, dan kunnen we de webservice noemen als http: //localhost:52645/TutorialService.svc/Tutorial/1 als voorbeeld. De webservice zou dan de Tutorial-naam moeten retourneren die de Tutorial-ID # 1 had.
- Dit gedeelte van de code wordt gebruikt om de "Tutorial name" te retourneren, waarvan de Tutorial-ID is doorgegeven aan de webmethode.
- Wat standaard moet worden onthouden, is dat alles wat wordt doorgegeven aan de URL in de browser een tekenreeks is.
- Maar u moet niet vergeten dat de Index op onze lijst een geheel getal moet zijn, dus voegen we de benodigde code toe om eerst de Tutorialid naar een geheel getal te converteren en deze vervolgens te gebruiken om toegang te krijgen tot de indexpositie in onze lijst en
- Retourneer vervolgens de waarde dienovereenkomstig naar het aanroepende programma.
Stap 8) De volgende stap is het schrijven van de code voor onze POST-methode. Deze methode wordt aangeroepen wanneer we een tekenreekswaarde willen toevoegen aan onze lijst met zelfstudies via de POST-methode. Als u bijvoorbeeld de zelfstudie-naam "Software Testing" wilt toevoegen, moet u de POST-methode gebruiken.
Code Verklaring: -
- De eerste regel is het 'WebInvoke'-attribuut dat aan onze methode is toegevoegd. Hierdoor kan de methode worden aangeroepen via de POST-aanroep. Het RequestFormat- en ResponseFormat-attribuut moeten worden vermeld als JSON, aangezien bij het posten van waarden naar een RESTFul-webservice de waarden in dit formaat moeten zijn.
- De tweede regel code wordt gebruikt om de stringwaarde die is doorgegeven via de POST-aanroep toe te voegen aan onze bestaande lijst met Tutorial-strings.
Stap 9) Ten slotte gaan we onze methode toevoegen om de DELETE-bewerking af te handelen. Deze methode wordt aangeroepen wanneer we een bestaande stringwaarde uit onze lijst met Tutorials willen verwijderen via de DELETE-methode.
[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);}
Code Verklaring: -
- De eerste regel is het 'WebInvoke'-attribuut dat aan onze methode is toegevoegd. Hierdoor kan de methode worden aangeroepen via de POST-aanroep. Het RequestFormat- en ResponseFormat-attribuut moeten worden vermeld als JSON, aangezien bij het posten van waarden naar een RESTFul-webservice de waarden in dit formaat moeten zijn. Merk op dat de Method-parameter wordt ingesteld op "DELETE." Dit betekent dat wanneer we het werkwoord DELETE uitgeven, deze methode wordt aangeroepen.
- De tweede regel code wordt gebruikt om de Tutorialid die via de DELETE-aanroep is verzonden, te nemen en vervolgens die id uit onze lijst te verwijderen. (De Int32- functie in code wordt gebruikt om de zelfstudie-ID om te zetten van een stringvariabele naar een geheel getal).
Uw eerste Restful-webservice uitvoeren
Nu we onze volledige webservice in het bovenstaande gedeelte hebben gemaakt. Laten we eens kijken hoe we de Tutorial-service kunnen uitvoeren, zodat deze vanaf elke client kan worden aangeroepen.
Volg de onderstaande stappen om de webservice uit te voeren
Stap 1) Klik met de rechtermuisknop op het projectbestand - Webservice.REST
Stap 2) Kies de menuoptie 'Instellen als opstartproject'. Dit zorgt ervoor dat dit project wordt uitgevoerd wanneer Visual Studio de volledige oplossing uitvoert
Stap 3) De volgende stap is om het project zelf uit te voeren. Nu, afhankelijk van de standaardbrowser die op het systeem is geïnstalleerd, komt de juiste browsernaam naast de knop Uitvoeren in Visual Studio. In ons geval laten we Google Chrome verschijnen. Klik gewoon op deze knop.
Uitgang: -
Wanneer het project wordt uitgevoerd, kunt u naar uw TutorialService.svc / Tutorial-sectie bladeren en u krijgt de onderstaande uitvoer.
In de bovenstaande uitvoer,
- U kunt zien dat de browser het 'GET'-werkwoord aanroept en de' GetAllTutorial'-methode in de webservice uitvoert. Deze module wordt gebruikt om alle tutorials weer te geven die door onze webservice worden weergegeven.
Uw eerste Restful-webservice testen
In de bovenstaande sectie hebben we al gezien hoe we de browser kunnen gebruiken om het 'GET'-werkwoord uit te voeren en de' GetAllTutorial 'aan te roepen.
- Laten we nu de browser gebruiken om het volgende use case-scenario uit te voeren.
GET Tutorial / Tutorialid - Wanneer een client deze Restful API aanroept, krijgt deze de Tutorial-naam op basis van de Tutorialid die door de client is verzonden
Voeg in uw browser de string / 1 toe na het Tutorial-woord in de URL. Als je op de enter-knop drukt, krijg je de onderstaande output
Nu ziet u de uitvoer van wachtrijen die feitelijk overeenkomt met het nummer 1 in onze lijst met zelfstudiereeksen. Dit betekent dat de 'GetTutorialbyID'-methode nu wordt aangeroepen vanuit onze webservice. Het laat ook zien dat de waarde van 1 met succes via de browser wordt doorgegeven aan onze webservice en onze methode en daarom krijgen we de juiste corresponderende waarde van "Queues" in de browser.
- Laten we vervolgens onze webservice gebruiken door het onderstaande scenario uit te voeren. Hiervoor moet u de tool genaamd "Fiddler" installeren, een gratis downloadbare tool van de site.
POST Tutorial / Tutorialname - Wanneer een cliënt deze Restful API aanroept, zal de cliënt een verzoek indienen om een Tutorialnaam in te voegen. De webservice voegt dan de ingediende Tutorial-naam toe aan de collectie.
Voer de Filddler-tool uit en voer de onderstaande stappen uit;
- Ga naar de componistensectie. Dit wordt gebruikt om verzoeken te maken die op elk internet kunnen worden ingediend
toepassing.
- Zorg ervoor dat het verzoektype "POST" is en dat de juiste URL wordt geraakt, wat in ons geval http: // localhost: 52645 / TutorialService.svc / Tutorial zou moeten zijn
- Zorg ervoor dat het Content-Type is gemarkeerd als application / json. Onthoud dat onze POST-verzoekmethode in onze webservice alleen json-stijlgegevens accepteert, dus we moeten ervoor zorgen dat dit wordt gespecificeerd wanneer we een verzoek naar onze applicatie sturen.
- Ten slotte moeten we onze gegevens invoeren. Onthoud dat onze methode voor POST een parameter accepteert met de naam 'str.' Dus hier specificeren we dat we een waarde met de naam "Trees" willen toevoegen aan onze verzameling Tutorial-namen en ervoor zorgen dat deze wordt getagd met de str-variabelenaam.
Klik ten slotte op de knop Uitvoeren in fiddler. Hierdoor wordt een verzoek naar de webservice gestuurd om de gegevens "Trees" naar onze webservice te POSTEN.
Als we nu naar de Tutorial-URL bladeren om alle strings in onze Tutorial-lijst te tonen, zult u nu zien dat de waarde van "Trees" ook aanwezig is. Dit toont aan dat het POST-verzoek aan de webservice met succes is uitgevoerd en dat het met succes is toegevoegd aan onze Tutorial List.
- Laten we vervolgens onze webservice gebruiken door het onderstaande scenario uit te voeren. Hiervoor hebben we ook de fiddler-tool nodig
VERWIJDER Tutorial / Tutorialid- Wanneer een klant deze Restful API aanroept, zal de klant een verzoek indienen om een Tutorialnaam te verwijderen op basis van de Tutorialid. De webservice verwijdert dan de ingediende Tutorial-naam uit de collectie.
Voer de Filddler-tool uit en voer de onderstaande stappen uit
- Ga naar de componistensectie. Dit wordt gebruikt om verzoeken te maken die op elk internet kunnen worden ingediend
toepassing.
- Zorg ervoor dat het verzoektype "DELETE" is en dat de juiste URL wordt geraakt, wat in ons geval http: // localhost: 52645 / TutorialService.svc / Tutorial zou moeten zijn . Zorg ervoor dat de id die wordt gebruikt om een tekenreeks uit de lijst te verwijderen, als parameter via de URL is verzonden. In ons REST-voorbeeld sturen we er 1, dus dit zal het 2 e element in onze verzameling verwijderen dat "Wachtrijen" is.
Klik ten slotte op de knop Uitvoeren in fiddler. Hierdoor wordt een verzoek naar de webservice gestuurd om de gegevens "Wachtrijen" naar onze webservice te VERWIJDEREN.
Als we nu naar de Tutorial-URL bladeren om alle strings in onze Tutorial-lijst te tonen, zult u merken dat de waarde van "Queues" niet langer aanwezig is.
Dit toont aan dat het DELETE-verzoek aan de webservice met succes is uitgevoerd. Het element op index nr. 1 in onze lijst met Tutorial-strings is succesvol verwijderd.
Overzicht
- REST staat voor REpresentational State Transfer. REST wordt gebruikt om webservices te bouwen die lichtgewicht, onderhoudbaar en schaalbaar van aard zijn.
- Steeds meer applicaties verhuizen naar de Restful-architectuur. Dit komt doordat veel mensen nu mobiele apparaten gebruiken en een grotere verscheidenheid aan applicaties naar de cloud verhuist.
- De belangrijkste aspecten van REST zijn de bronnen die zich op de server bevinden en de werkwoorden GET, POST, PUT en DELETE, die kunnen worden gebruikt om met deze bronnen te werken.
- Visual Studio en.Net kunnen worden gebruikt om Restful webservices te creëren.
- Bij het testen van webservices voor POST en PUT, moet u een ander hulpprogramma genaamd fiddler gebruiken dat kan worden gebruikt om het POST- en PUT-verzoek naar de server te verzenden.