REST dans ASP.NET Core

Effectué

Quand vous accédez à une page web, le serveur web communique avec vos navigateurs en utilisant HTML, CSS et JavaScript. Si vous interagissez par exemple avec la page en envoyant un formulaire de connexion ou en sélectionnant un bouton acheter, le navigateur renvoie les informations au serveur web.

De manière similaire, les serveurs Web peuvent communiquer avec une large gamme de clients (navigateurs, des appareils mobiles, d’autres serveurs web, etc.) en utilisant des services web. Les clients d’API communiquent avec le serveur via HTTP, et les deux échangent des informations en utilisant un format de données comme JSON ou XML. Les API sont souvent utilisées dans les applications à page unique (SPA) qui exécutent la majeure partie de la logique de l’interface utilisateur dans un navigateur web. La communication avec le serveur Web se fait principalement via des API Web.

REST : un modèle courant pour la création d’API avec HTTP

REST (Representational State Transfer) est un style d’architecture pour la création de services web. Les requêtes REST sont effectuées via HTTP. Elles utilisent les mêmes verbes HTTP que les navigateurs web pour récupérer les pages web et envoyer des données aux serveurs. Les verbes sont :

  • GET : récupérez les données du service web.
  • POST : créez un nouvel élément de données sur le service web.
  • PUT : mettez à jour un élément de données sur le service web.
  • PATCH : Mettez à jour un élément de données sur le service web en décrivant un ensemble d’instructions sur la façon dont l’élément doit être modifié. L’exemple d’application de ce module n’utilise pas ce verbe.
  • DELETE : supprimez un élément de données sur le service web.

Les API de services Web qui respectent REST sont appelées des API RESTful. Elles sont définies par:

  • URI de base.
  • Méthodes HTTP, telles que GET, POST, PUT, PATCH ou DELETE.
  • Un type de média pour les données, comme JSON (JavaScript Object Notation) ou XML.

Une API va souvent fournir des services pour quelques autres actions différentes, mais liées. Par exemple, notre API « pizza » pourrait gérer les pizzas, les clients et les commandes. Nous utilisons un routage pour mapper les URI (Uniform Resource Identifier) à des divisions logiques dans notre code, pour que les requêtes adressées à https://localhost:5000/pizza soient routées vers PizzaController et que les requêtes adressées à https://localhost:5000/order soient routées vers OrderController.

Avantages de la création d’API dans ASP.NET Core

Avec ASP.NET, vous pouvez utiliser le même framework et les mêmes modèles pour créer des pages et des services web. Vous pouvez réutiliser les classes du modèle, la logique de validation et même servir des pages et des services web côte à côte dans le même projet. Cette approche présente des avantages :

  • Sérialisation simple : ASP.NET a été conçu pour les expériences web modernes. Les points de terminaison sérialisent automatiquement et nativement vos classes en JSON correctement mis en forme. Aucune configuration spéciale n’est nécessaire. Vous pouvez personnaliser la sérialisation pour les points de terminaison avec des exigences spécifiques.

  • Authentification et autorisation : pour la sécurité, les points de terminaison d’API offrent une prise en charge intégrée des jetons web JSON standard (jetons JWT). L’autorisation basée sur une stratégie vous offre la possibilité de définir des règles de contrôle d’accès puissantes dans le code.

  • Routage intégré à votre code : ASP.NET vous permet de définir des itinéraires et des verbes en ligne avec votre code en utilisant des attributs. Les données du chemin de la requête, de la chaîne de requête et du corps de la requête sont automatiquement liées aux paramètres de la méthode.

  • HTTPS par défaut : HTTPS est une partie importante des API web professionnelles modernes. Il s’appuie sur le chiffrement de bout en bout pour assurer la confidentialité et garantir que vos appels d’API ne sont pas interceptés et modifiés entre le client et le serveur.

    ASP.NET fournit nativement une prise en charge de HTTPS. Il génère automatiquement un certificat de test et l’importe facilement pour activer le protocole HTTPS local. Vous exécutez et vous déboguez ainsi vos applications de façon sécurisée avant de les publier.

Partager du code et des connaissances avec des applications .NET

Vous pouvez utiliser vos compétences et votre écosystème .NET pour partager la logique de votre API web avec d’autres applications créées avec .NET, notamment les applications mobiles, Web, de bureau et les services.

Test des API web en utilisant REPL HTTP .NET

Quand vous développez un site web traditionnel, vous visualisez et testez généralement votre travail dans un navigateur Web. Les API web acceptent et retournent des données plutôt que du HTML. Un navigateur web n’est donc pas le meilleur outil pour tester les API web.

Une des options les plus simples à utiliser pour explorer et interagir avec les API Web est la boucle REPL (Read-Evaluate-Print Loop) (Boucle Lire-Évaluer-Afficher) HTTP .NET. C’est un moyen simple et répandu de créer des environnements interactifs de ligne de commande. Dans la leçon suivante, vous allez créer une API web simple, puis interagir avec elle en utilisant REPL HTTP .NET.

Contrôle des connaissances

1.

Parmi les cas d’usage suivants, lequel n’est pas une raison de créer une API web en utilisant ASP.NET Core ?