Handleiding voor RESTful webservices: voorbeeld van een REST API

โšก Slimme samenvatting

RESTful webservices bieden een lichtgewicht, stateless benadering voor applicaties om gegevens uit te wisselen via HTTP met behulp van standaard HTTP-methoden. Ze stellen resources beschikbaar via een overzichtelijke interface. URLwaardoor schaalbare, platformonafhankelijke communicatie mogelijk wordt tussen gedistribueerde clients, servers, mobiele apparaten en moderne cloud- en AI-platformen.

  • ๐Ÿ“Š Kernwerkwoorden: GET, POST, PUT en DELETE corresponderen direct met lees-, aanmaak-, update- en verwijderbewerkingen die worden uitgevoerd op serverbronnen.
  • ๐Ÿงฉ Kernelementen: Bronnen, verzoekwerkwoorden, headers, verzoekbody, antwoordbody en statuscodes definiรซren samen elke REST-interactie.
  • ๐ŸŒ Archistructuur: REST maakt gebruik van een client-servermodel dat stateless, gelaagd en cachevriendelijk is, waardoor herhaalde verzoeken sneller en betrouwbaarder verlopen.
  • ๏ธ Implementatie: Met ASP.NET en een WCF-servicetemplate kunnen ontwikkelaars RESTful-eindpunten in Visual Studio beschikbaar stellen met minimale configuratie.
  • ๐Ÿงช testen: Browsers verwerken GET-aanroepen, terwijl Fiddler or Postman Verzend POST-, PUT- en DELETE-verzoeken ter verificatie.
  • ๐Ÿ” Praktische tips: HTTPS, tokenauthenticatie, betekenisvolle statuscodes en versiebeheer. URLZorg ervoor dat de REST API's in productieomgevingen veilig en onderhoudbaar blijven.
  • ๐Ÿค– AI-integratie: OpenAI, Anthropic en Google REST API's publiceren die chatbots, autonome agenten en machine learning-workflows aandrijven.

RESTful Web Services-zelfstudie

Wat is Restful Web Services?

Rustgevende webservices Een RESTful webservice is een lichtgewicht, onderhoudbare en schaalbare service die is gebouwd op de REST-architectuur. Een RESTful webservice stelt een API van uw applicatie op een veilige, uniforme en stateless manier beschikbaar aan de aanroepende client. De aanroepende client kan vervolgens vooraf gedefinieerde bewerkingen uitvoeren met behulp van de RESTful service. Het onderliggende protocol voor REST is HTTP, en REST staat voor Representational State Transfer (representatieve statusoverdracht).

Simpel gezegd definieert REST een standaardmethode voor het aanmaken, lezen, bijwerken en verwijderen van resources, zoals documenten, afbeeldingen of databasegegevens, via het web. Omdat het gebruikmaakt van standaard HTTP, kan vrijwel elke programmeertaal of elk apparaat een RESTful-service gebruiken zonder speciale tools.

Waarom zou je RESTful webservices gebruiken?

Voordat we de technische details induiken, is het nuttig om te begrijpen waarom REST zo populair is geworden. RESTful webservices zijn om de volgende redenen zo belangrijk geworden:

1. Heterogene talen en omgevingen โ€“ Dit is een van de fundamentele redenen, die dezelfde is als we hebben gezien voor SOAP .

  • Het maakt het mogelijk dat webapplicaties die in verschillende programmeertalen zijn gebouwd, met elkaar kunnen communiceren.
  • Met behulp van RESTful-services kunnen deze webapplicaties in verschillende omgevingen draaien; sommige zouden bijvoorbeeld op een server kunnen staan. Windows, en andere kunnen op Linux draaien.

Uiteindelijk moet het resultaat, ongeacht de omgeving, altijd hetzelfde zijn: de applicaties moeten met elkaar kunnen communiceren. Restful webservices bieden deze flexibiliteit aan applicaties die gebouwd zijn in verschillende programmeertalen en op diverse platforms.

De onderstaande afbeelding toont een voorbeeld van een webapplicatie die moet communiceren met andere applicaties zoals Facebook, Twitter en Google.

Als een clientapplicatie moest samenwerken met sites zoals Facebook en Twitter, moesten de ontwikkelaars normaal gesproken weten op welke programmeertaal en welk platform die sites waren gebouwd. Op basis daarvan konden ze de interfacecode schrijven, maar deze aanpak zou qua onderhoud een ware nachtmerrie kunnen blijken.

In plaats daarvan Facebook, Twitter en Google Hun functionaliteit beschikbaar stellen in de vorm van RESTful webservices. Hierdoor kan elke clientapplicatie deze webservices via REST aanroepen, ongeacht de onderliggende technologie.

Waarom RESTful webservices gebruiken?

2. De gebeurtenis van Apparaten โ€“ Tegenwoordig moet aan alles gewerkt worden Mobile apparaten, of het nu een mobiele telefoon, een laptop of zelfs een autosysteem is.

Stel je eens voor hoeveel moeite het kost om applicaties op deze apparaten te programmeren die met normale webapplicaties communiceren. Ook hier geldt dat RESTful API's dit een stuk eenvoudiger maken, omdat je, zoals in punt รฉรฉn al werd genoemd, de onderliggende laag van het apparaat niet hoeft te kennen.

3. Het Cloud-evenement โ€“ Alles migreert naar de cloud. Applicaties worden geleidelijk aan overgezet naar cloudgebaseerde systemen zoals Azure or Amazon. Azure en Amazon Er zijn veel API's beschikbaar die gebaseerd zijn op de RESTful-architectuur. Daarom moeten applicaties nu zo ontwikkeld worden dat ze compatibel zijn met de cloud. Omdat alle cloudgebaseerde architecturen werken volgens het REST-principe, is het logisch dat webdiensten geprogrammeerd worden volgens een REST-architectuur om optimaal gebruik te maken van clouddiensten.

RESTful sleutelelementen

REST-webservices hebben sinds hun ontstaan โ€‹โ€‹een lange weg afgelegd. In 2002 publiceerde het Web Consortium de definitie van WSDL- en SOAP-webservices. Dit vormde de standaard voor de implementatie van webservices.

In 2004 publiceerde het webconsortium ook de definitie van een aanvullende standaard genaamd RESTful. Deze standaard is de afgelopen jaren erg populair geworden en wordt nu gebruikt door veel van de populairste websites ter wereld, waaronder Facebook en Twitter.

REST is een manier om toegang te krijgen tot resources die zich in een specifieke omgeving bevinden. Je kunt bijvoorbeeld een server hebben die belangrijke documenten, afbeeldingen of video's host. Dit zijn allemaal voorbeelden van resources. Als een client, zoals een webbrowser, een van deze resources nodig heeft, moet deze een verzoek naar de server sturen. REST-services definiรซren een standaardmanier waarop deze resources kunnen worden benaderd.

De belangrijkste elementen van een RESTful-implementatie zijn als volgt:

  1. Informatiebronnen โ€“ Het eerste cruciale element is de bron zelf. Laten we aannemen dat een webapplicatie op een server gegevens van verschillende medewerkers bevat. Laten we aannemen dat... URL van de webapplicatie is https://demo.guru99.comOm nu via REST-services toegang te krijgen tot een werknemersrecord, kan men het volgende commando gebruiken: https://demo.guru99.com/employee/1Deze opdracht vertelt de webserver om de gegevens te verstrekken van de medewerker met personeelsnummer 1.
  2. Vraag werkwoorden aan โ€“ Deze beschrijven wat je met de bron wilt doen. Een browser gebruikt een GET-verzoek om het eindpunt te laten weten dat het gegevens wil ophalen. Er zijn echter veel andere verzoeken beschikbaar, waaronder POST, PUT en DELETE. Dus, in het geval van het voorbeeld... https://demo.guru99.com/employee/1De webbrowser gebruikt in feite een GET-verzoek omdat hij de gegevens van het werknemersdossier wil ophalen.
  3. Verzoek headers โ€“ Dit zijn aanvullende instructies die met het verzoek worden meegestuurd. Ze kunnen het type reactie dat vereist is of de autorisatiegegevens specificeren.
  4. Verzoektekst โ€“ Dit zijn de gegevens die met het verzoek worden meegestuurd. Gegevens worden normaal gesproken in de request body verzonden wanneer een POST-verzoek naar de REST-webservice wordt gedaan. Bij een POST-aanroep vertelt de client de REST-webservice dat hij een resource aan de server wil toevoegen. De request body bevat daarom de details van de resource die moet worden toegevoegd.
  5. Reactie lichaam โ€“ Dit is het hoofdgedeelte van het antwoord. Dus, in ons RESTful API-voorbeeld, als we de webserver zouden bevragen via het verzoek. https://demo.guru99.com/employee/1De webserver kan een XML-document retourneren met alle gegevens van de medewerker in de responsbody.
  6. Reactiestatuscodes โ€“ Dit zijn de algemene codes die samen met het antwoord van de webserver worden teruggestuurd. Een voorbeeld is code 200, die normaal gesproken wordt teruggestuurd als er geen fout optreedt bij het terugsturen van een antwoord naar de client.

Rustgevende methoden

Het onderstaande diagram toont de meeste werkwoorden (POST, GET, PUT en DELETE) en een REST API-voorbeeld van wat ze betekenen.

Laten we ervan uitgaan dat we een RESTful webservice hebben gedefinieerd op de locatie https://demo.guru99.com/employeeWanneer de client een verzoek indient bij deze webservice, kan hij een van de gebruikelijke HTTP-werkwoorden GET, POST, DELETE en PUT specificeren. Hieronder wordt weergegeven wat er zou gebeuren als de client de betreffende werkwoorden zou verzenden.

  1. POST Dit zou gebruikt worden om een โ€‹โ€‹nieuwe medewerker aan te maken via de RESTful webservice.
  2. Begin Dit zou gebruikt worden om een โ€‹โ€‹lijst te krijgen van alle medewerkers die gebruikmaken van de RESTful webservice.
  3. PUT Dit zou gebruikt worden om alle medewerkers via de RESTful webservice op de hoogte te houden.
  4. VERWIJDEREN Dit zou gebruikt worden om alle medewerkers te verwijderen via de RESTful-service.

Laten we nu eens kijken vanuit het perspectief van slechts รฉรฉn record. Stel dat er een werknemersrecord is met werknemersnummer 1. De volgende acties zouden dan elk hun eigen betekenis hebben.

  1. POST โ€“ Dit is niet van toepassing, aangezien we gegevens ophalen van medewerker 1, die al is aangemaakt.
  2. Begin Dit zou gebruikt worden om de gegevens van de medewerker met medewerkersnummer 1 op te halen via de RESTful webservice.
  3. PUT Dit zou worden gebruikt om de gegevens van medewerker nummer 1 bij te werken via de RESTful webservice.
  4. VERWIJDEREN โ€“ Hiermee worden de gegevens van de medewerker met medewerkersnummer 1 verwijderd.

Rustgevende methoden

Rustgevend Architectuur

Een applicatie of architectuur die als RESTful of REST-achtig 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 gebruikelijke HTTP-commando's GET, POST, PUT en DELETE. Dus als iemand een bestand van een server wil ophalen, moet diegene een GET-verzoek kunnen versturen. Als iemand een bestand op de server wil plaatsen, moet dat mogelijk zijn met een POST- of PUT-verzoek. En als iemand een bestand van de server wil verwijderen, kan dat met een DELETE-verzoek.

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 te controleren of de resource daadwerkelijk is verwijderd, moet u een GET-verzoek versturen. Met een GET-verzoek worden eerst alle resources op de server opgehaald, waarna gecontroleerd moet worden of de resource daadwerkelijk is verwijderd.

RESTful-principes en beperkingen

De REST-architectuur is gebaseerd op een aantal kenmerken, die hieronder worden toegelicht. Elke RESTful webservice moet aan deze kenmerken voldoen om als RESTful te worden beschouwd. Deze kenmerken staan โ€‹โ€‹ook bekend als ontwerpprincipes die moeten worden gevolgd bij het werken met RESTful-gebaseerde services.

  1. RESTful client-server

    RESTful Client-Server Principe

Dit is de meest fundamentele vereiste van een REST-architectuur. Het betekent dat de server een RESTful webservice heeft die de benodigde functionaliteit aan de client levert. De client stuurt een verzoek naar de webservice op de server. De server wijst het verzoek vervolgens af of voldoet eraan en geeft een passend antwoord aan de client.

  1. stateless

Het concept van stateless betekent dat de client ervoor moet zorgen dat alle benodigde informatie aan de server wordt verstrekt. Dit is nodig zodat de server het antwoord correct kan verwerken. De server mag geen informatie bewaren tussen verzoeken van de client. Het is een zeer eenvoudige, onafhankelijke vraag-antwoordsequentie. De client stelt een vraag en de server beantwoordt deze op passende wijze. Wanneer de client een nieuwe vraag stelt, onthoudt de server het vorige vraag-antwoordscenario niet en moet de nieuwe vraag onafhankelijk beantwoorden.

  1. cache

RESTful Cache-principe

Het cacheconcept helpt bij het oplossen van het probleem van statelessness dat in het vorige punt is beschreven. Omdat elk server-clientverzoek onafhankelijk is, kan het voorkomen dat een client de server opnieuw om hetzelfde verzoek vraagt, ook al heeft hij dat in het verleden al gedaan. Dit verzoek gaat naar de server, die vervolgens een antwoord geeft, wat het netwerkverkeer verhoogt. De cache is een concept dat aan de clientzijde is geรฏmplementeerd om verzoeken op te slaan die al naar de server zijn verzonden. Als de client dus hetzelfde verzoek opnieuw indient, gaat het niet naar de server, maar haalt het de benodigde informatie uit de cache. Dit vermindert de hoeveelheid netwerkverkeer tussen de client en de server.

  1. Gelaagd systeem

Het concept van een gelaagd systeem houdt in dat er een extra laag, zoals een middlewarelaag, kan worden ingevoegd tussen de client en de server die de RESTful-webservice host. (In de middlewarelaag wordt alle bedrijfslogica geรฏmplementeerd. Dit kan een extra service zijn waarmee de client communiceert voordat deze de webservice aanroept.) De introductie van deze laag moet echter transparant zijn, zodat de interactie tussen client en server niet wordt verstoord.

  1. Interface/Uniforme 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 sleutelwerkwoorden om met resources op de server te werken.

  • POST โ€“ Om een โ€‹โ€‹resource op de server aan te maken.
  • GET โ€“ Om een โ€‹โ€‹bron van de server op te halen.
  • PUT โ€“ Om de status van een resource te wijzigen of bij te werken.
  • VERWIJDEREN โ€“ Om een โ€‹โ€‹bron van de server te verwijderen.

REST versus SOAP: Belangrijkste verschillen

Ontwikkelaars wegen REST vaak af tegen SOAP bij het ontwerpen van een webservice. Beide maken communicatie tussen gedistribueerde applicaties mogelijk, maar ze verschillen sterk in filosofie. REST is een architectuurstijl die gebruikmaakt van eenvoudige HTTP-werkwoorden en lichtgewicht formaten zoals JSON, terwijl SOAP SOAP is een strikt protocol dat gebruikmaakt van XML-enveloppen en een formele contracDe onderstaande tabel vat de belangrijkste verschillen samen.

Aspect REST SOAP
Type Architectural stijl Strikt protocol
Data formaat JSON, XML, platte tekst, HTML Alleen XML
Transport Alleen HTTP HTTP, SMTP, TCP en andere
Land stateless Staatloos of staatsgebonden
Prestaties Sneller en lichter Zwaarder vanwege de overhead van XML.
Best voor Web-, mobiele en openbare API's Bedrijfsapplicaties die strikte beveiliging vereisen

In de praktijk is REST de standaardkeuze voor openbare web- en mobiele API's omdat het sneller en gemakkelijker te gebruiken is, terwijl SOAP nuttig blijft voor bedrijfssystemen die ingebouwde beveiliging en formele configuratie vereisen.tracts.

Creรซer uw eerste Restful-webservice in ASP.NET

In deze REST API-tutorial leren we hoe je een RESTful webservice maakt in ASP.NET.

Webservices kunnen in diverse programmeertalen worden ontwikkeld en veel geรฏntegreerde ontwikkelomgevingen kunnen worden gebruikt om REST-gebaseerde services te creรซren.

In dit RESTful API-voorbeeld gaan we onze REST-applicatie maken in .NET met behulp van Visual Studio. We gaan een RESTful-webservice maken die werkt met de onderstaande gegevens.

De onderstaande dataset is een voorbeeld van een REST API van een bedrijf dat de tutorials beschikbaar stelt die ze op basis van Tutorialid hebben gemaakt.

Handleiding Naam van zelfstudie
0 arrays
1 wachtrijen
2 Stacks

In ons voorbeeld van de REST API-tutorial gaan we de onderstaande RESTful-werkwoorden implementeren.

  1. KRIJG zelfstudie Wanneer een client deze RESTful API aanroept, krijgt hij of zij de volledige set tutorials te zien die beschikbaar zijn via de webservice.
  2. KRIJG zelfstudie/tutoriallid โ€“ Wanneer een client deze RESTful API aanroept, krijgt hij de naam van de tutorial te zien op basis van de Tutorialid die door de client is verzonden.
  3. POST-zelfstudie/zelfstudienaam โ€“ Wanneer een client deze RESTful API aanroept, dient de client een verzoek in om een โ€‹โ€‹tutorialnaam in te voegen. De webservice voegt de ingediende tutorialnaam vervolgens toe aan de verzameling.
  4. VERWIJDER Tutorial/Tutorialid โ€“ Wanneer een client deze RESTful API aanroept, dient de client een verzoek in om een โ€‹โ€‹tutorialnaam te verwijderen op basis van de tutorial-ID. De webservice verwijdert vervolgens de ingediende tutorialnaam uit de verzameling.

Laten we de onderstaande stappen volgen om onze eerste RESTful webservice te creรซren, die de bovenstaande implementatie uitvoert.

Hoe u uw eerste rustgevende webservice kunt maken

Stap 1) Maak een nieuw project.
De eerste stap is het maken van een leeg bestand Asp.Net Webapplicatie. Klik in Visual Studio 2013 op de menuoptie Bestand->Nieuw project.

Creรซer een rustgevende webservice

Zodra je op de optie 'Nieuw project' klikt, toont Visual Studio een nieuw dialoogvenster waarin je het projecttype kunt kiezen en de benodigde gegevens kunt invoeren. Dit wordt in de volgende stap uitgelegd.

Stap 2) Voer de projectnaam en locatie in.

  1. Zorg ervoor dat u eerst de C# Websjabloon voor de ASP.NET-webtoepassing. Het project moet van dit type zijn om een โ€‹โ€‹webserviceproject te kunnen maken. Door deze optie te kiezen, voert Visual Studio de nodige stappen uit om de vereiste bestanden voor elke webtoepassing toe te voegen.
  2. Geef je project een naam, in ons geval is dat "Webservice.REST".
  3. Geef vervolgens een locatie op waar de projectbestanden worden opgeslagen.

Creรซer een rustgevende webservice

Zodra dit is voltooid, ziet u het aangemaakte projectbestand in de Solution Explorer van Visual Studio 2013.

Creรซer een rustgevende webservice

Stap 3) Maak het webservicebestand.
De volgende stap is het aanmaken van het webservicebestand dat de RESTful webservice zal bevatten.

  1. Klik eerst met de rechtermuisknop op het projectbestand, zoals hieronder weergegeven.

Creรซer een rustgevende webservice

  1. In deze stap,
    1. Klik met de rechtermuisknop op het projectbestand.
    2. Kies de optie "Toevoegen -> Nieuw item".

Creรซer een rustgevende webservice

In het dialoogvenster dat verschijnt, moet u het volgende doen.

  1. Kies de optie WCF-service (met Ajax-ondersteuning). Als u een bestand van dit type kiest, voegt Visual Studio basiscode toe waarmee u een RESTful-webservice kunt maken. WCF staat voor Windows Communicatie FoundationWCF is een bibliotheek waarmee applicaties van verschillende platformen (of hetzelfde platform) met elkaar kunnen communiceren via verschillende protocollen zoals TCP, HTTP en HTTPS. Ajax is 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.
  2. Geef vervolgens een naam aan de service, in ons geval TutorialService.
  3. Klik ten slotte op de knop Toevoegen om de service aan de oplossing toe te voegen.

Creรซer een rustgevende webservice

Stap 4) Maak een configuratie.
De volgende stap is het aanpassen van de configuratie zodat dit project met RESTful webservices kan werken. Hiervoor is een wijziging nodig in het bestand genaamd Web.configDit bestand verschijnt in hetzelfde venster als het projectbestand van de webservice. Het bestand Web.config bevat alle configuraties die ervoor zorgen dat de webapplicatie naar behoren werkt. De wijziging die wordt aangebracht, stelt de applicatie in staat om gegevens te verzenden en te ontvangen als een pure RESTful webservice.

  1. Klik op het bestand Web.config om de code te openen.

Creรซer een rustgevende webservice

  1. Zoek de lijn .

Creรซer een rustgevende webservice

  1. Wijzig de regel naar .

Creรซer een rustgevende webservice

Stap 5) Voeg onze code toe voor implementatie.
De volgende stap is het toevoegen van onze implementatiecode. Alle onderstaande code moet in het bestand TutorialService.svc worden geschreven.

  1. De eerste stap is het toevoegen van code om onze data weer te geven, die we in ons programma zullen gebruiken. We gaan dus een lijst met stringvariabelen hebben met de waarden "Arrays", "Queues" en "Stacks". Dit vertegenwoordigt de namen van de tutorials die beschikbaar zijn via onze hostingdienst.

Creรซer een rustgevende 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"});

Stap 6) Definieer de code voor onze GET-methode.
Vervolgens definiรซren we de code voor onze GET-methode. Deze code komt ook in hetzelfde bestand TutorialService.svc te staan. Deze code wordt uitgevoerd telkens wanneer we de service vanuit onze browser aanroepen.

De onderstaande methode zal worden gebruikt om het onderstaande scenario te realiseren.

  • Als een gebruiker een lijst wil van alle beschikbare tutorials, dan moet de onderstaande code worden geschreven om dit te bereiken.

Creรซer een rustgevende webservice

[WebGet(UriTemplate = "/Tutorial")]

public String GetAllTutorial()
{
    int count = lst.Count;
    String TutorialList = "";
    for (int i = 0; i < count; i++)
        TutorialList = TutorialList + lst[i] + ",";
    return TutorialList;
}

Code Uitleg:-

  1. De eerste regel code is het belangrijkst. Deze wordt gebruikt om te definiรซren hoe we deze methode kunnen aanroepen via een URLDus, als de link naar onze webservice is http://localhost:52645/TutorialService.svc en we voegen '/Tutorial' toe aan de URL, als in http://localhost:52645/TutorialService.svc/TutorialDe bovenstaande code wordt dan uitgevoerd. Het attribuut 'WebGet' is een parameter waarmee deze methode een RESTful-methode kan zijn, zodat deze via het GET-verzoek kan worden aangeroepen.
  2. 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 naar de Tutorial-service wordt gedaan met een Tutorial-ID, de bijbehorende tutorialnaam wordt geretourneerd op basis van de Tutorial-ID.

Creรซer een rustgevende webservice

[WebGet(UriTemplate = "/Tutorial/{Tutorialid}")]

public String GetTutorialbyID(String Tutorialid)
{
    int pid;
    Int32.TryParse(Tutorialid, out pid);
    return lst[pid];
}

Code Uitleg:-

  1. De eerste regel code is het belangrijkst. Deze definieert hoe we deze methode kunnen aanroepen via een URLDus, als de link naar onze webservice is http://localhost:52645/TutorialService.svc en we voegen '/Tutorial/{Tutorialid}' toe aan de URL, dan zouden we de webservice kunnen aanroepen als http://localhost:52645/TutorialService.svc/Tutorial/1Bijvoorbeeld. De webservice zou dan de naam van de tutorial retourneren die het tutorial-ID 1 had.
  2. Dit codefragment wordt gebruikt om de naam van de tutorial terug te geven die overeenkomt met de tutorial-ID die aan de webmethode is doorgegeven.
  • Standaard moet men onthouden dat alles wat aan de wordt doorgegeven, van toepassing is. URL In de browser staat een tekenreeks.
  • Maar je moet niet vergeten dat de index van onze lijst een geheel getal moet zijn, dus voegen we de nodige code toe om de Tutorialid eerst naar een geheel getal te converteren.
  • Vervolgens gebruiken we het om de indexpositie in onze lijst op te vragen en de waarde dienovereenkomstig terug te geven aan het aanroepende 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 een tekenreeks aan onze lijst met tutorials willen toevoegen via de POST-methode. Als je bijvoorbeeld de tutorialnaam "Softwaretesten" wilt toevoegen, moet je de POST-methode gebruiken.

Creรซer een rustgevende webservice

[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "/Tutorial/{str}")]

public void AddTutorial(String str)
{
    lst.Add(str);
}

Code Uitleg:-

  1. De eerste regel is het 'WebInvoke'-attribuut, dat aan onze methode is toegevoegd. Dit maakt het mogelijk om de methode aan te roepen via een POST-verzoek. De attributen RequestFormat en ResponseFormat moeten als JSON worden opgegeven, omdat waarden die naar een RESTful webservice worden verzonden, in dit formaat moeten zijn.
  2. De tweede regel code wordt gebruikt om de tekenreeks die via de POST-aanroep is doorgegeven, toe te voegen aan onze bestaande lijst met voorbeeldteksten.

Stap 9) Voeg een methode toe om de DELETE-bewerking af te handelen.
Ten slotte voegen we onze methode toe om de DELETE-bewerking af te handelen. Deze methode wordt aangeroepen wanneer we een bestaande tekenreekswaarde uit onze lijst met tutorials willen verwijderen met behulp van de DELETE-methode.

Creรซer een rustgevende webservice

[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);
    lst.RemoveAt(pid);
}

Code Uitleg:-

  1. De eerste regel is het 'WebInvoke'-attribuut, dat aan onze methode is gekoppeld. Dit maakt het mogelijk om de methode aan te roepen via de DELETE-aanroep. De attributen RequestFormat en ResponseFormat moeten als JSON worden opgegeven, omdat de waarden in dit formaat moeten zijn. Merk op dat de parameter Method is ingesteld op "DELETE". Dit betekent dat deze methode wordt aangeroepen wanneer we de DELETE-aanroep gebruiken.
  2. 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 De functie in de code wordt gebruikt om de tutorial-ID van een stringvariabele naar een integer om te zetten.

Uw eerste Restful-webservice uitvoeren

Nu we in het bovenstaande gedeelte onze complete webservice hebben gemaakt, gaan we kijken hoe we de Tutorial-service kunnen uitvoeren, zodat deze door elke client kan worden aangeroepen.

Om de webservice te starten, volg je de onderstaande stappen.

Stap 1) Klik met de rechtermuisknop op het projectbestand โ€“ Webservice.REST.

Rustgevende webservice uitvoeren

Stap 2) Kies de menuoptie 'Instellen als opstartproject'. Hiermee zorgt u ervoor dat dit project wordt uitgevoerd wanneer Visual Studio de volledige oplossing uitvoert.

Rustgevende webservice uitvoeren

Stap 3) De volgende stap is het uitvoeren van het project zelf. Afhankelijk van de standaardbrowser die op het systeem is geรฏnstalleerd, verschijnt de naam van de betreffende browser naast de knop 'Uitvoeren' in Visual Studio. In ons geval hebben we... Google Chrome verschijnen. Klik gewoon op deze knop.

Rustgevende webservice uitvoeren

Uitgang: -

Wanneer het project wordt uitgevoerd, kunt u naar de sectie TutorialService.svc/Tutorial navigeren, waar u de onderstaande uitvoer te zien krijgt.

Rustgevende webservice uitvoeren

In de bovenstaande uitvoer,

  • Je kunt zien dat de browser het 'GET'-verzoek aanroept en de 'GetAllTutorial'-methode in de webservice uitvoert. Deze module wordt gebruikt om alle tutorials weer te geven die door onze webservice beschikbaar worden gesteld.

Uw eerste Restful-webservice testen

In het bovenstaande gedeelte hebben we al gezien hoe je de browser kunt gebruiken om het 'GET'-commando uit te voeren en 'GetAllTutorial' aan te roepen.

  1. 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 naam van de tutorial op basis van de Tutorialid die door de client is verzonden.

Voeg in uw browser de tekenreeks /1 toe na het woord Tutorial in de URLAls je op de enter-toets drukt, krijg je de onderstaande uitvoer te zien.

Restful Web Service testen

Nu ziet u de uitvoer "Queues", wat overeenkomt met nummer 1 in onze lijst met tutorialstrings. Dit betekent dat de methode 'GetTutorialbyID' nu wordt aangeroepen vanuit onze webservice. Het laat ook zien dat de waarde 1 succesvol via de browser wordt doorgegeven aan onze webservice en aan onze methode, en dat is de reden waarom we de correcte waarde van "Queues" in de browser krijgen.

  1. Laten we vervolgens onze webservice gebruiken door het onderstaande scenario uit te voeren. Hiervoor moet u de tool genaamd installeren. Fiddler, wat een gratis te downloaden tool is.

POST Tutorial/Tutorialnaam โ€“ Wanneer een client deze RESTful API aanroept, dient de client een verzoek in om een โ€‹โ€‹tutorialnaam in te voegen. De webservice voegt de ingediende tutorialnaam vervolgens toe aan de verzameling.

Voer de ... uit Fiddler Gebruik het gereedschap en voer de onderstaande stappen uit.

  1. Ga naar het gedeelte 'Componist'. Hier maak je verzoeken aan die je naar elke webapplicatie kunt versturen.
  2. Zorg ervoor dat het verzoektype "POST" is en dat de juiste gegevens correct zijn. URL wordt geraakt, wat in ons geval zou moeten zijn http://localhost:52645/TutorialService.svc/Tutorial.
  3. Zorg ervoor dat het Content-Type is ingesteld op application/json. Houd er rekening mee dat onze POST-methode in onze webservice alleen JSON-data accepteert, dus we moeten ervoor zorgen dat dit is gespecificeerd wanneer we een verzoek naar onze applicatie sturen.
  4. Tot slot moeten we onze gegevens invoeren. Vergeet niet dat onze POST-methode een parameter genaamd 'str' accepteert. Hier specificeren we dus dat we een waarde genaamd "Trees" willen toevoegen aan onze verzameling tutorialnamen en ervoor zorgen dat deze wordt gekoppeld aan de variabelenaam 'str'.

Klik ten slotte op de knop 'Uitvoeren' in FiddlerDit stuurt een verzoek naar de webservice om de gegevens "Trees" via POST naar onze webservice te verzenden.

Restful Web Service testen

Als we nu naar de handleiding gaan, URL Om alle strings in onze tutoriallijst weer te geven, zie je dat de waarde "Trees" er ook tussen staat. Dit toont aan dat het POST-verzoek aan de webservice succesvol is uitgevoerd en dat de string succesvol aan onze tutoriallijst is toegevoegd.

Restful Web Service testen

  1. Laten we vervolgens onze webservice gebruiken door het onderstaande scenario uit te voeren. Hiervoor moeten we ook de volgende code gebruiken: Fiddler en vermijd negatieve reviews.

DELETE Tutorial/TutorialID โ€“ Wanneer een client deze RESTful API aanroept, dient de client een verzoek in om een โ€‹โ€‹tutorialnaam te verwijderen op basis van de tutorial-ID. De webservice verwijdert vervolgens de ingediende tutorialnaam uit de verzameling.

Voer de ... uit Fiddler Gebruik het gereedschap en voer de onderstaande stappen uit.

  1. Ga naar het gedeelte 'Componist'. Hier maak je verzoeken aan die je naar elke webapplicatie kunt versturen.
  2. Zorg ervoor dat het verzoektype 'VERWIJDEREN' is en dat de juiste gegevens correct zijn. URL wordt geraakt, wat in ons geval zou moeten zijn http://localhost:52645/TutorialService.svc/TutorialZorg ervoor dat de ID die gebruikt wordt om een โ€‹โ€‹tekenreeks in de lijst te verwijderen, via de wordt verzonden. URL als parameter. In ons REST-voorbeeld sturen we 1, dus hiermee wordt de 2 verwijderd.nd element in onze collectie, namelijk "Wachtrijen".

Klik ten slotte op de knop 'Uitvoeren' in FiddlerDit stuurt een verzoek naar de webservice om de gegevens "Queues" van onze webservice te VERWIJDEREN.

Restful Web Service testen

Als we nu naar de handleiding gaan, URL Om alle strings in onze tutoriallijst weer te geven, zult u merken dat de waarde "Queues" niet meer aanwezig is.

Dit toont aan dat het DELETE-verzoek aan de webservice succesvol is uitgevoerd. Het element op indexnummer 1 in onze lijst met voorbeeldteksten is succesvol verwijderd.

Restful Web Service testen

Best practices voor RESTful API's

Het bouwen van een werkende REST API is slechts de eerste stap; het bouwen van een API die schaalbaar en onderhoudbaar blijft, vereist discipline. De onderstaande werkwijzen helpen uw endpoints voorspelbaar, veilig en gemakkelijk toegankelijk te houden voor andere ontwikkelaars en AI-agenten.

  • Gebruik zelfstandige naamwoorden, geen werkwoorden, in URLs. Eindpunten zoals /werknemers/1 zijn duidelijker dan /getEmployee?id=1, omdat het HTTP-werkwoord de actie al beschrijft.
  • Geef zinvolle statuscodes terug. Verzend 200 voor succes, 201 voor een aangemaakte resource, 400 voor een ongeldig verzoek, 401 voor ongeautoriseerde toegang, 404 voor een ontbrekende resource en 500 voor serverfouten.
  • Versiebeheer van uw API. Het toevoegen van een versie-segment zoals /v1/ Met dit pad kunt u de service verder ontwikkelen zonder bestaande klanten te hinderen.
  • Beveilig elk eindpunt. Gebruik HTTPS, samen met API-sleutels of OAuth 2.0-tokens, en valideer alle binnenkomende invoer.
  • Ondersteuning voor paginering en filtering. Het retourneren van grote collecties in pagina's zorgt voor snelle reactietijden en vermindert de serverbelasting.

Door deze conventies te volgen, wordt uw RESTful webservice intuรฏtief te integreren, of de gebruiker nu een mobiele app, een partnersysteem of een geautomatiseerde AI-workflow is.

Veelgestelde vragen

REST is een architectuurstijl die gebruikmaakt van HTTP-werkwoorden en lichtgewicht formaten zoals JSON. SOAP is een strikt protocol dat afhankelijk is van XML-enveloppen. REST is sneller, eenvoudiger en beter geschikt voor web- en mobiele clients, terwijl SOAP beter past bij bedrijfssystemen die ingebouwde beveiliging vereisen.

RESTful API's retourneren standaard HTTP-statuscodes. 200 bevestigt een succesvol verzoek, 201 geeft aan dat een resource is aangemaakt, 400 meldt een ongeldig verzoek, 401 betekent ongeautoriseerd, 404 geeft aan dat een resource ontbreekt en 500 signaleert een serverfout tijdens de verwerking.

Beveiligde REST API's met HTTPS voor transportversleuteling, API-sleutels of OAuth 2.0-tokens voor authenticatie, op rollen gebaseerd toegangsbeheer voor autorisatie, snelheidsbeperking om misbruik te voorkomen en strikte invoervalidatie. Het loggen van verzoeken helpt bij audits en incidentafhandeling.

AI-aanbieders zoals OpenAI, Anthropic en Google Stel REST-eindpunten beschikbaar die JSON-prompts accepteren en gegenereerde tekst retourneren. Ontwikkelaars sturen POST-verzoeken met API-sleutels, waarna de service antwoordt met modeluitvoer. Dit maakt chatbots, agents en automatiseringspipelines mogelijk.

Ja. Moderne AI-agenten gebruiken tool- of functieaanroepen om REST-eindpunten aan te roepen tijdens een gesprek. De agent kiest een eindpunt, bouwt de JSON-payload op, verstuurt het verzoek en leest het antwoord om de volgende actie te plannen, zonder menselijke tussenkomst.

Een webbrowser kan GET-aanroepen direct testen. Voor POST-, PUT- en DELETE-verzoeken gebruiken ontwikkelaars tools zoals... Fiddler or Postmanwaarmee je headers kunt instellen, een werkwoord kunt kiezen en het antwoord kunt inspecteren.

REST-services wisselen doorgaans gegevens uit in JSON-formaat, omdat dit formaat lichtgewicht en gemakkelijk te parseren is. Ze kunnen echter ook XML, HTML of platte tekst gebruiken. De client en server komen het formaat overeen met behulp van de HTTP-headers Content-Type en Accept.

Vat dit bericht samen met: