REST in ASP.NET Core

Voltooid

Wanneer u naar een webpagina bladert, communiceert de webserver met uw browser met behulp van HTML, CSS en JavaScript. Als u bijvoorbeeld interactie hebt met de pagina door een aanmeldingsformulier in te dienen of een koopknop te selecteren, stuurt de browser de informatie terug naar de webserver.

Op een vergelijkbare manier kunnen webservers communiceren met een breed scala aan clients (browsers, mobiele apparaten, andere webservers en meer) met behulp van webservices. API-clients communiceren met de server via HTTP en de twee wisselen informatie uit met behulp van een gegevensindeling zoals JSON of XML. API's worden vaak gebruikt in toepassingen met één pagina (SPA's) die de meeste logica van de gebruikersinterface uitvoeren in een webbrowser. Communicatie met de webserver vindt voornamelijk plaats via web-API's.

REST: Een algemeen patroon voor het bouwen van API's met HTTP

Representational State Transfer (REST) is een architectuurstijl voor het bouwen van webservices. REST-aanvragen worden gedaan via HTTP. Ze gebruiken dezelfde HTTP-woorden die webbrowsers gebruiken om webpagina's op te halen en gegevens naar servers te verzenden. De werkwoorden zijn:

  • GET: Gegevens ophalen uit de webservice.
  • POST: Maak een nieuw gegevensitem op de webservice.
  • PUT: Werk een gegevensitem in de webservice bij.
  • PATCH: Werk een gegevensitem in de webservice bij door een set instructies te beschrijven over hoe het item moet worden gewijzigd. In de voorbeeldtoepassing in deze module wordt dit werkwoord niet gebruikt.
  • DELETE: Verwijder een gegevensitem op de webservice.

Webservice-API's die voldoen aan REST, worden RESTful API's genoemd. Ze worden gedefinieerd via:

  • Een basis-URI.
  • HTTP-methoden, zoals GET, POST, PUT, , of DELETEPATCH.
  • Een mediatype voor de gegevens, zoals JavaScript Object Notation (JSON) of XML.

Een API moet vaak services bieden voor een aantal verschillende, maar gerelateerde zaken. Onze pizza-API kan bijvoorbeeld pizza's, klanten en bestellingen beheren. We gebruiken routering om URI's (uniforme resource-id's) toe te wijzen aan logische divisies in onze code, zodat aanvragen https://localhost:5000/pizza worden gerouteerd naar PizzaController en aanvragen waarnaar https://localhost:5000/order wordt gerouteerd OrderController.

Voordelen van het maken van API's in ASP.NET Core

Met ASP.NET kunt u hetzelfde framework en dezelfde patronen gebruiken om zowel webpagina's als services te bouwen. U kunt modelklassen en validatielogica opnieuw gebruiken en zelfs webpagina's en services naast elkaar in hetzelfde project leveren. Deze aanpak heeft voordelen:

  • Eenvoudige serialisatie: ASP.NET is ontworpen voor moderne webervaringen. Eindpunten serialiseren uw klassen automatisch om JSON correct te formatteren. Er is geen speciale configuratie vereist. U kunt serialisatie aanpassen voor eindpunten met unieke vereisten.

  • Verificatie en autorisatie: API-eindpunten hebben ingebouwde ondersteuning voor JSON-webtokens (JWT's) die standaard zijn voor de beveiliging. Autorisatie op basis van beleid biedt u de flexibiliteit om krachtige regels voor toegangsbeheer in code te definiëren.

  • Routeren naast uw code: ASP.NET kunt u routes en werkwoorden inline definiëren met uw code met behulp van kenmerken. Gegevens uit het aanvraagpad, de queryreeks en de aanvraagbody worden automatisch gebonden aan methodeparameters.

  • HTTPS is standaard een belangrijk onderdeel van moderne, professionele web-API's. Het is afhankelijk van end-to-end-versleuteling om privacy te bieden en ervoor te zorgen dat uw API-aanroepen niet worden onderschept en gewijzigd tussen client en server.

    ASP.NET biedt standaard ondersteuning voor HTTPS. Er wordt automatisch een testcertificaat gegenereerd en eenvoudig geïmporteerd om lokale HTTPS in te schakelen, zodat u uw toepassingen veilig kunt uitvoeren en fouten kunt opsporen voordat u ze publiceert.

Code en kennis delen met .NET-apps

U kunt uw .NET-vaardigheden en -ecosysteem gebruiken om logica van uw web-API te delen met andere apps die zijn gebouwd met .NET, waaronder mobiel, web, desktop en services.

Web-API's testen met behulp van de .NET HTTP REPL

Wanneer u een traditionele website ontwikkelt, bekijkt en test u uw werk meestal in een webbrowser. Web-API's accepteren en retourneren gegevens in plaats van HTML, dus een webbrowser is niet het beste hulpprogramma voor het testen van web-API's.

Een van de eenvoudigste opties voor het verkennen en gebruiken van web-API's is de .NET HTTP REPL (read-evaluate-printlus). Het is een eenvoudige en populaire manier om interactieve opdrachtregelomgevingen te bouwen. In de volgende les maakt u een eenvoudige web-API en communiceert u ermee met behulp van de .NET HTTP REPL.

Kennis testen

1.

Welke van de volgende use cases is geen reden om een web-API te bouwen met behulp van ASP.NET Core?