RESTful Web Services Tutorial: Wat is REST API met voorbeeld
Wat is Restful Web Services?
Rustgevende webservices is een lichtgewicht, onderhoudbare en schaalbare service die is gebouwd op de REST-architectuur. Restful Web Service, stelt API van uw applicatie op een veilige, uniforme, stateless manier bloot aan de aanroepende client. De aanroepende 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.
RESTful sleutelelementen
REST-webservices hebben sinds de oprichting echt een lange weg afgelegd. In 2002 had het webconsortium de definitie van WSDL- en SOAP-webservices vrijgegeven. Dit vormde de standaard voor de manier waarop webservices worden geïmplementeerd.
In 2004 bracht het webconsortium ook de definitie uit van een aanvullende standaard genaamd RESTful. De afgelopen jaren is deze standaard 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 hulpbronnen. Als een client, bijvoorbeeld een webbrowser, een van deze bronnen nodig heeft, moet hij een verzoek naar de server sturen om toegang te krijgen tot deze bronnen. Nu definieert REST-services een manier waarop deze bronnen toegankelijk zijn.
De belangrijkste elementen van een RESTful-implementatie zijn als volgt:
- Documentatie – 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 webapplicatie is http://demo.guru99.com. Om nu toegang te krijgen tot een werknemersrecordbron via REST-services, kan men de opdracht geven http://demo.guru99.com/employee/1 – Met deze opdracht wordt de webserver gevraagd de gegevens van de werknemer met personeelsnummer 1 te verstrekken.
- Vraag werkwoorden aan – Deze beschrijven wat u met de hulpbron wilt doen. Een browser geeft een GET-werkwoord uit om het eindpunt te instrueren dat het gegevens wil ophalen. Er zijn echter nog veel meer werkwoorden beschikbaar, waaronder zaken als POST, PUT en DELETE. Dus in het geval van het voorbeeld http://demo.guru99.com/employee/1 , geeft de webbrowser feitelijk een GET-werkwoord uit omdat deze de gegevens van het personeelsdossier wil ophalen.
- Verzoek headers – Dit zijn aanvullende instructies die met het verzoek worden meegestuurd. Deze kunnen het type vereiste respons of de autorisatiedetails definiëren.
- Verzoektekst – Gegevens worden met het verzoek meegestuurd. Gegevens worden normaal gesproken meegestuurd met het verzoek wanneer een POST-verzoek wordt gedaan aan de REST-webservices. In een POST-aanroep vertelt de client de REST-webservices dat deze een resource aan de server wil toevoegen. Daarom bevat de aanvraagbody de details van de resource die aan de server moet worden toegevoegd.
- Reactie lichaam – Dit is de hoofdtekst van het antwoord. Dus in ons RESTful API-voorbeeld, als we de webserver zouden ondervragen via het verzoek http://demo.guru99.com/employee/1 , kan de webserver een XML-document retourneren met alle gegevens van de werknemer in de antwoordtekst.
- Reactiestatuscodes – Deze codes zijn de algemene codes die samen met het antwoord van de webserver worden geretourneerd. Een voorbeeld is de code 200 die normaal gesproken wordt geretourneerd als er geen fout optreedt bij het retourneren van een antwoord naar de client.
Rustgevende methoden
Het onderstaande diagram toont grotendeels alle werkwoorden (POST, GET, PUT en DELETE) en een REST API-voorbeeld van wat ze zouden betekenen.
Laten we aannemen dat we op de locatie een RESTful-webservice hebben gedefinieerd. http://demo.guru99.com/employee . Wanneer de client een verzoek indient bij deze webservice, kan deze elk van de normale HTTP-werkwoorden GET, POST, DELETE en PUT specificeren. Hieronder ziet u wat er zou gebeuren als de betreffende werkwoorden door de cliënt zouden worden verzonden.
- POST – Dit zou worden gebruikt om een nieuwe medewerker 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 medewerkers te updaten die de RESTful-webservice gebruiken
- VERWIJDEREN – Dit zou worden gebruikt om alle werknemers te verwijderen die de RESTful-services gebruiken
Laten we eens kijken vanuit het perspectief van slechts één record. Stel dat er een werknemersrecord is met het werknemersnummer 1.
De volgende acties hebben hun respectievelijke betekenissen.
- POST – Dit zou niet van toepassing zijn omdat we gegevens van werknemer 1 ophalen die al zijn aangemaakt.
- GET – Dit zou worden gebruikt om de gegevens van de werknemer met het werknemersnummer 1 op te halen met behulp van de RESTful-webservice
- PUT – Dit zou worden gebruikt om de gegevens van de werknemer bij te werken met het werknemersnummer als 1 met behulp van de RESTful-webservice
- VERWIJDEREN – Hiermee worden de gegevens van de werknemer met het werknemersnummer 1 verwijderd
Waarom rustgevend
Restful is vooral populair geworden om de volgende redenen:
1. Heterogene talen en omgevingen – Dit is een van de fundamentele redenen die dezelfde is als we hebben gezien SOAP .
- Het zorgt ervoor dat webapplicaties die op verschillende programmeertalen zijn gebouwd, met elkaar kunnen communiceren
- Met behulp van Restful-services kunnen deze webapplicaties zich in verschillende omgevingen bevinden, sommige zelfs aan Windows, en andere kunnen op Linux draaien.
Maar uiteindelijk, ongeacht de omgeving, moet het eindresultaat altijd hetzelfde zijn: ze moeten met elkaar kunnen praten. Rustgevende webservices bieden deze flexibiliteit om applicaties die op verschillende programmeertalen en platforms zijn gebouwd met elkaar te praten.
De onderstaande afbeelding geeft een voorbeeld van een webapplicatie die moet kunnen communiceren met andere applicaties zoals Facebook, Twitter en Google.
Als een clientapplicatie 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 via REST aanroepen.
2. De gebeurtenis van Apparaten – Tegenwoordig moet aan alles gewerkt worden Telefoonnummer apparaten, 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, want zoals vermeld in punt 1, hoeft u eigenlijk niet te weten wat de onderliggende laag voor het apparaat is.
3. Tenslotte is er de gebeurtenis van de Cloud – Alles verhuist naar de cloud. Applicaties verplaatsen zich langzaam naar cloudgebaseerde systemen zoals in Azure or Amazon. Azure en Amazon bieden veel API's op basis van de Restful-architectuur. Daarom moeten applicaties nu zo worden ontwikkeld dat ze compatibel zijn met de Cloud. Omdat alle Cloud-gebaseerde architecturen werken op het REST-principe, is het logischer dat webservices worden geprogrammeerd op de REST-services-gebaseerde architectuur om optimaal gebruik te maken van Cloud-gebaseerde services.
Rustgevend Architectuur
Een applicatie of architectuur die als RESTful of REST-stijl wordt beschouwd, heeft de volgende kenmerken
1. Staat 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 ophalen, moet hij of zij het GET-verzoek kunnen doen en het bestand kunnen ophalen. Als ze een bestand op de server willen plaatsen, moeten ze het POST- of PUT-verzoek kunnen doen. En ten slotte, als ze een bestand van de server willen verwijderen, kunnen ze het DELETE-verzoek indienen.
2. De architectuur is client/server, stateless, gelaagd en ondersteunt caching
- Client-server is de typische architectuur waarbij de server de webserver kan zijn die de applicatie host, en de client net zo eenvoudig kan zijn als de webbrowser.
- Stateless betekent dat de status van de applicatie niet behouden blijft in REST. Als u bijvoorbeeld een bron van een server verwijdert met de opdracht DELETE, kunt u niet verwachten dat die verwijderinformatie wordt doorgegeven aan het volgende verzoek.
Om ervoor te zorgen dat de bron wordt verwijderd, moet u het GET-verzoek indienen. Het GET-verzoek zou worden gebruikt om eerst alle bronnen op de server te krijgen. Daarna zou men moeten zien of de bron daadwerkelijk is verwijderd.
RESTful-principes en beperkingen
De REST-architectuur is gebaseerd op een paar kenmerken die hieronder worden uitgewerkt. Elke RESTful-webservice moet voldoen aan de onderstaande kenmerken om RESTful te kunnen worden genoemd. Deze kenmerken staan ook bekend als ontwerpprincipes die moeten worden gevolgd bij het werken met RESTful-gebaseerde services.
Dit is de meest fundamentele vereiste van een 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 eraan voldoen en een adequaat antwoord aan de client geven.
- stateless
Het concept van stateless betekent dat het aan de client is om ervoor te zorgen dat alle vereiste informatie aan de server wordt verstrekt. Dit is nodig zodat de server het antwoord op de juiste manier kan verwerken. De server mag geen enkele vorm van informatie bijhouden tussen verzoeken van de client. Het is een heel eenvoudige, onafhankelijke vraag-antwoordreeks. De client stelt een vraag, de server beantwoordt deze op passende wijze. De cliënt zal nog een vraag stellen. De server onthoudt het vorige vraag-antwoordscenario niet en zal de nieuwe vraag zelfstandig moeten beantwoorden.
- cache
Het Cache-concept is bedoeld om te helpen bij het probleem van staatlozen, dat in het laatste punt werd beschreven. Omdat elk serverclientverzoek onafhankelijk van aard is, kan de client de server soms opnieuw om hetzelfde verzoek vragen. Dit terwijl zij er in het verleden al om heeft gevraagd. Dit verzoek gaat naar de server en de server zal een antwoord geven. Hierdoor neemt het verkeer over het netwerk toe. 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 gegeven, gaat deze in plaats van naar de server te gaan, naar de cache en krijgt 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 gemaakt. Dit kan een extra service zijn). gemaakt waarmee de client kan communiceren voordat deze de webservice aanroept.). Maar de introductie van deze laag moet transparant zijn, zodat deze 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 aan te maken
- GET – Om een bron van de server op te halen
- PUT – Om de status van een hulpbron te wijzigen of bij te werken
- DELETE – Om een bron van de server te verwijderen of te verwijderen
Creëer uw eerste Restful-webservice in ASP.NET
In deze REST API-tutorial leren we nu 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 in .Net maken met Visual Studio. In ons voorbeeld gaan we voor Restful-webservices het volgende REST-servicevoorbeeld emuleren.
We krijgen een Restful-webservice die werkt op de onderstaande reeks gegevens.
De onderstaande set gegevens vertegenwoordigt een REST API-voorbeeld van het hebben van een bedrijf dat de tutorials openbaar maakt die ze hebben gebaseerd op de Tutorial.
Handleiding | Naam van zelfstudie |
---|---|
0 | arrays |
1 | wachtrijen |
2 | Stacks |
In ons REST API-tutorialvoorbeeld gaan we de onderstaande Restful Werkwoorden implementeren.
- KRIJG zelfstudie – Wanneer een klant deze Restful API aanroept, krijgt hij de volledige set tutorials die beschikbaar zijn via de webservice.
- KRIJG zelfstudie/tutoriallid – Wanneer een klant deze Restful API aanroept, krijgt hij of zij de Tutorial-naam op basis van de Tutorial die door de klant is verzonden.
- POST-zelfstudie/zelfstudienaam – Wanneer een client deze Restful API aanroept, zal de client een verzoek indienen om een Tutorialnaam in te voeren. De webservice voegt vervolgens de ingediende Tutorial-naam toe aan de verzameling.
- 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 Tutorial. De webservice verwijdert vervolgens de ingediende Tutorial-naam uit de verzameling.
Laten we de onderstaande stappen in deze RESTful API-tutorial volgen om onze eerste RESTful-webservices te maken, die de bovenstaande implementatie uitvoert.
Hoe u uw eerste rustgevende webservice kunt maken
Stap 1) Nieuw project maken.
De eerste stap is het maken van een leeg bestand Asp.Net Webapplicatie. Klik in 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 de benodigde details van het project te geven. Dit wordt uitgelegd in de volgende stap van deze RESTful API-zelfstudie
Stap 2) Vul de projectnaam en locatie in.
- Zorg ervoor dat u eerst de RESTful-webservices kiest C# websjabloon van ASP.NET-webtoepassing. Het project moet van dit type zijn om een webservicesproject te kunnen maken. Door deze optie te kiezen, voert Visual Studio de benodigde stappen uit om vereiste bestanden toe te voegen die vereist zijn door een webgebaseerde toepassing.
- Geef een naam voor uw project die in ons geval is gegeven als “Webservice.REST”.
- Zorg er vervolgens voor dat u een locatie opgeeft waar de projectbestanden worden opgeslagen.
Zodra u klaar bent, ziet u het projectbestand dat is gemaakt in uw Solution Explorer in Visual Studio 2013.
Stap 3) Maak het webservicebestand.
De volgende stap is het maken van het webservicebestand dat de RESTful-webservice gaat bevatten
- 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 uitvoeren
- Kies de optie WCF Service (Ajax-enabled) – Kies een bestand van dit type, het veroorzaakt de Visual studio om wat basiscode toe te voegen waarmee je een RESTful-webservice kunt maken. WCF staat voor Windows Communicatie Foundation. WCF is een bibliotheek voor applicaties van verschillende platformen of hetzelfde platform om te communiceren via de verschillende protocollen zoals TCP, HTTP, HTTPS. Ajax is in principe asynchroon JavaScript en XML. AJAX zorgt ervoor dat webpagina's asynchroon worden bijgewerkt door kleine hoeveelheden data achter de schermen uit te wisselen met de server.
- Geef vervolgens een naam voor de service, in ons geval TutorialService.
- Klik ten slotte op de knop Toevoegen om de service aan de oplossing toe te voegen.
Stap 4) Maak een configuratie.
De volgende stap is om daadwerkelijk een configuratiewijziging door te voeren, zodat dit project het werk met RESTful-webservices kan voltooien. Hiervoor moet u een wijziging aanbrengen in het aangeroepen bestand Web.config. Dit bestand verschijnt in hetzelfde venster als het Webservice-projectbestand. Het bestand Web.config bevat alle configuraties die ervoor zorgen dat de webapplicatie naar behoren werkt. Door de wijziging die wordt doorgevoerd, kan de applicatie gegevens verzenden en ontvangen als een pure RESTful-webservice.
- Klik op het Web.config-bestand om de code te openen
- Zoek naar de lijn
- Verander de regel naar
Stap 5) Voeg onze code toe voor implementatie.
De volgende stap in deze RESTful API-tutorial is het toevoegen van onze code voor implementatie. Alle onderstaande code moet in het bestand TutorialService.svc worden geschreven
- Het eerste deel is het toevoegen van code om onze gegevens weer te geven die in ons programma zullen worden gebruikt. We krijgen dus een lijst met tekenreeksvariabelen met de waarden "Arrays", "Wachtrijen" en "Stacks". Dit vertegenwoordigt de naam van de tutorials die beschikbaar is via onze hostingwebservice.
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"});
Stap 6) Definieer de code voor onze GET-methode.
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 aanroepen.
De onderstaande methode zal worden gebruikt om het onderstaande scenario te vervullen
- Als een gebruiker een lijst met alle beschikbare tutorials wil, 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-uitleg: -
- De eerste regel code is het belangrijkste. Het wordt gebruikt om te definiëren hoe we deze methode via een URL kunnen aanroepen. Dus als de link naar onze webservice staat http://localhost:52645/TutorialService.svc en als we de '/Tutorial' aan de URL toevoegen als http://localhost:52645/TutorialService.svc/Tutorial , wordt de bovenstaande code aangeroepen. Het attribuut van 'WebGet' is een parameter die het mogelijk maakt dat deze methode een RESTful-methode is, zodat deze kan worden aangeroepen via het GET-werkwoord.
- Dit codegedeelte wordt gebruikt om onze lijst met strings in de 'lst'-variabele te doorlopen en ze allemaal terug te sturen naar het oproepende programma.
Stap 7) Retourneer de uitvoer.
De onderstaande code zorgt ervoor dat als er een GET-aanroep wordt gedaan naar de Tutorial-service met een Tutorial-ID, deze de overeenkomstige 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-uitleg: -
- De eerste regel code is het belangrijkste. Het wordt gebruikt om te definiëren hoe we deze methode via een URL kunnen aanroepen. Dus als de link naar onze webservice staat http://localhost:52645/TutorialService.svc en als we de '/Tutorial/{Tutorialid}' aan de URL toevoegen, kunnen we de webservice aanroepen als http://localhost:52645/TutorialService.svc/Tutorial/1 als voorbeeld. De webservice zou dan de Tutorial-naam moeten retourneren met de Tutorial-id#1.
- Dit codegedeelte wordt gebruikt om de 'Tutorialnaam' te retourneren, waarbij de Tutorial-ID wordt doorgegeven aan de webmethode.
- Wat standaard moet worden onthouden, is dat alles wat aan de URL in de browser wordt doorgegeven, een tekenreeks is.
- Maar u moet niet vergeten dat de index in 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
- Stuur vervolgens de waarde dienovereenkomstig terug naar het oproepende programma.
Stap 8) Schrijf de code voor de POST-methode.
De volgende stap is het schrijven van de code voor onze POST-methode. Deze methode wordt aangeroepen wanneer we via de POST-methode een stringwaarde aan onze lijst met tutorials willen toevoegen. Als u bijvoorbeeld de zelfstudienaam 'Software Testing' wilt toevoegen, moet u de POST-methode gebruiken.
Code-uitleg: -
- De eerste regel is het attribuut 'WebInvoke' dat aan onze methode is gekoppeld. Hierdoor kan de methode worden aangeroepen via de POST-aanroep. Het kenmerk RequestFormat en ResponseFormat moeten worden vermeld als JSON, omdat bij het posten van waarden naar een RESTFul-webservice de waarden in dit formaat moeten zijn.
- De tweede coderegel wordt gebruikt om de tekenreekswaarde die via de POST-aanroep is doorgegeven, toe te voegen aan onze bestaande lijst met zelfstudiereeksen.
Stap 9) Voeg een methode toe om de DELETE-bewerking af te handelen.
Tot slot voegen we onze methode toe 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.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); }
Code-uitleg: -
- De eerste regel is het attribuut 'WebInvoke' dat aan onze methode is gekoppeld. Hierdoor kan de methode worden aangeroepen via de POST-aanroep. Het kenmerk RequestFormat en ResponseFormat moeten worden vermeld als JSON, omdat bij het posten van waarden naar een RESTFul-webservice de waarden in dit formaat moeten zijn. Houd er rekening mee dat de Method-parameter wordt ingesteld op 'DELETE'. Dit betekent dat wanneer we het DELETE-werkwoord gebruiken, deze methode wordt aangeroepen.
- De tweede coderegel wordt gebruikt om de Tutorialid die via de DELETE-oproep is verzonden, te nemen en vervolgens die ID uit onze lijst te verwijderen. (De Int32 functie in code wordt gebruikt om de Tutorial-ID van een stringvariabele naar een geheel getal te converteren).
Uw eerste Restful-webservice uitvoeren
Nu we onze volledige webservice in de bovenstaande sectie hebben gemaakt. Laten we eens kijken hoe we de Tutorial-service kunnen uitvoeren, zodat deze vanaf elke client kan worden aangeroepen.
Om de webservice uit te voeren, volgt u de onderstaande stappen
Stap 1) Klik met de rechtermuisknop op het projectbestand – Webservice.REST
Stap 2) Kies de menuoptie 'Set as StartUp Project'. 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, zal de juiste browsernaam naast de knop Uitvoeren in Visual Studio verschijnen. In ons geval hebben we Google Chrome verschijnen. Klik gewoon op deze knop.
Uitgang: -
Wanneer het project is uitgevoerd, kunt u naar de sectie TutorialService.svc/Tutorial bladeren en krijgt u de onderstaande uitvoer.
In de bovenstaande uitvoer,
- U kunt zien dat de browser het werkwoord 'GET' aanroept en de 'GetAllTutorial'-methode in de webservice uitvoert. Deze module wordt gebruikt om alle tutorials weer te geven die door onze webservice worden aangeboden.
Uw eerste Restful-webservice testen
In het bovenstaande gedeelte hebben we al gezien hoe we de browser kunnen gebruiken om het werkwoord 'GET' 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 klant deze Restful API aanroept, krijgt hij of zij de Tutorial-naam op basis van de Tutorial die door de klant is verzonden
Voeg in uw browser de tekenreeks /1 toe na het Tutorial-woord in de URL. Als u op de enter-knop drukt, krijgt u de onderstaande uitvoer
Nu zul je de uitvoer van wachtrijen zien die feitelijk overeenkomt met nummer 1 in onze lijst met zelfstudiereeksen. Dit betekent dat de methode 'GetTutorialbyID' nu wordt aangeroepen vanuit onze webservice. Het laat ook zien dat de waarde van 1 succesvol via de browser wordt doorgegeven aan onze webservice en aan onze methode en daarom krijgen we de juiste overeenkomstige waarde van “Wachtrijen” in de browser.
- Laten we vervolgens onze webservice gebruiken door het onderstaande scenario uit te voeren. Hiervoor moet u de tool genaamd “Fiddler', een gratis downloadbare tool van de site.
POST Tutorial/Tutorialnaam – Wanneer een klant deze Restful API aanroept, zal de klant een verzoek indienen om een Tutorialnaam in te voegen. De webservice voegt vervolgens de ingediende Tutorial-naam toe aan de verzameling.
Voer de Fiddler-tool uit en voer de onderstaande stappen uit;
- Ga naar de composer-sectie. Dit wordt gebruikt om verzoeken te maken die naar elke webapplicatie kunnen worden verzonden.
- Zorg ervoor dat het verzoektype “POST” is en dat de juiste URL wordt geraakt, wat in ons geval zou moeten zijn http://localhost:52645/TutorialService.svc/Tutorial
- Zorg ervoor dat het inhoudstype is gemarkeerd als application/json. Houd er rekening mee 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 verzenden.
- Ten slotte moeten we onze gegevens invoeren. Onthoud dat onze methode voor POST een parameter accepteert met de naam 'str.' Hier specificeren we dus dat we een waarde met de naam “Trees” willen toevoegen aan onze verzameling Tutorial-namen en ervoor willen zorgen dat deze wordt getagd met de naam van de str-variabele.
Klik ten slotte op de knop Uitvoeren in Fiddler. Dit stuurt een verzoek naar de webservice om de data "Trees" naar onze webservice te POSTen.
Wanneer we nu naar de Tutorial-URL bladeren om alle tekenreeksen in onze Tutorial-lijst weer te geven, ziet u nu 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 Tutoriallijst.
- Laten we nu onze webservice consumeren door het onderstaande scenario uit te voeren. Hiervoor moeten we ook de fiddler-tool gebruiken
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 Tutorial. De webservice verwijdert vervolgens de ingediende Tutorial-naam uit de verzameling.
Voer de Fiddler-tool uit en voer de onderstaande stappen uit
- Ga naar de composer-sectie. Dit wordt gebruikt om verzoeken te maken die naar elke webapplicatie kunnen worden verzonden.
- Zorg ervoor dat het verzoektype “DELETE” is en dat de juiste URL wordt geraakt, wat in ons geval zou moeten zijn http://localhost:52645/TutorialService.svc/Tutorial. Zorg ervoor dat de id die wordt gebruikt om een string in de lijst te verwijderen, via de URL als parameter wordt verzonden. In ons REST-voorbeeld sturen we 1, dus hierdoor worden de 2 verwijderdnd element in onze collectie, namelijk “Wachtrijen”.
Klik ten slotte op de knop Uitvoeren in Fiddler. Dit stuurt een verzoek naar de webservice om de gegevens "Queues" naar onze webservice te VERWIJDEREN.
Wanneer we nu naar de Tutorial-URL bladeren om alle tekenreeksen in onze Tutorial-lijst weer te geven, zult u merken dat de waarde van "Wachtrijen" niet langer aanwezig is.
Dit toont aan dat het DELETE-verzoek aan de webservice succesvol is uitgevoerd. Het element op indexnummer 1 in onze lijst met Tutorial-strings is succesvol verwijderd.
Samenvatting
- 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 er nu veel mensen mobiele apparaten gebruiken en een bredere 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 maken.
- . Testen Om webservices voor POST en PUT te kunnen gebruiken, hebt u een ander hulpmiddel nodig, genaamd Fiddler, waarmee u de POST- en PUT-aanvraag naar de server kunt sturen.