L'API minimale avec . NET 6 utilisant C # | Kenji Elzerman | Skillshare

Vitesse de lecture


1.0x


  • 0.5x
  • 0.75x
  • 1 x (normale)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

L'API minimale avec . NET 6 utilisant C #

teacher avatar Kenji Elzerman

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Leçons de ce cours

    • 1.

      1. Introduction

      1:21

    • 2.

      2. Exigences

      0:50

    • 3.

      3. . API NET 5

      2:24

    • 4.

      4. Créer la nouvelle API

      3:34

    • 5.

      5. Fichiers et dossiers

      2:22

    • 6.

      6. Cartographie - Préparations

      3:04

    • 7.

      7. Carte GET

      2:45

    • 8.

      8. Carte GET avec le paramètre

      1:40

    • 9.

      9. POST de carte

      3:00

    • 10.

      10. Carte SUPPRIMER

      2:41

    • 11.

      11. Carte PUT

      2:08

    • 12.

      12. Ajouter l'injection de dépendance

      6:28

    • 13.

      13. Fabriquer ASYNC

      3:08

    • 14.

      14. Conclusion

      0:56

  • --
  • Niveau débutant
  • Niveau intermédiaire
  • Niveau avancé
  • Tous niveaux

Généré par la communauté

Le niveau est déterminé par l'opinion majoritaire des apprenants qui ont évalué ce cours. La recommandation de l'enseignant est affichée jusqu'à ce qu'au moins 5 réponses d'apprenants soient collectées.

38

apprenants

1

projets

À propos de ce cours

Dans ce cours, je vous montrerai comment créer une API minimale avec . NET 6. Après ce cours, vous serez en mesure de comprendre les cartographies pour différentes demandes HTTP, d'ajouter l'injection de dépendance à l'API minimale et de créer l'async minimal de l'API API. Avec un projet, je vous emmènerai de la création de l'API minimale jusqu'à la fin, en expliquant ce que je fais et pourquoi.

Ce que nous allons faire dans ce cours :

  • Regardez comment nous avions l'habitude de fabriquer des API avec . NET 5.
  • Créez une nouvelle API minimale avec . NET 6 utilisant C #.
  • Un guide étape par étape sur la création d'une nouvelle API minimale dans Visual Studio.
  • Ajouter des cartographies (points de fin pour l'API ). Je couvrirai GET, POST, SUPPRIMER et PUT.
  • Ajouter l'injection de dépendance.
  • Créer l'async API pour une meilleure performance.

Veuillez noter que c'est le cours d'un débutant, et il est conseillé de connaître certains C # et de comprendre les API sont. Quelques expériences avec la création d'API avec . Pour suivre ce cours, il faut NET 5 ou plus Je ne vais pas expliquer ce que sont les APIs car il existe de nombreux cours sur ce sujet. Ce cours est uniquement destiné à créer une API minimale.

Rencontrez votre enseignant·e

Teacher Profile Image

Kenji Elzerman

Enseignant·e

I am a C# developer for over 20 years. I worked on many different projects, different companies, and different techniques. I was a C# teacher for people diagnosed with ADHD and/or autism. Here I have set up complete training for them to learn programming with C#, basic cloud actions, and architecture. The goal was to help them to learn to develop software with C#. But the mission was to help them find a job suitable to their needs.

Now I am enjoying the freedom of traveling the world. Learning new ways to teach and bring information to people through the internet.

Voir le profil complet

Level: Beginner

Notes attribuées au cours

Les attentes sont-elles satisfaites ?
    Dépassées !
  • 0%
  • Oui
  • 0%
  • En partie
  • 0%
  • Pas vraiment
  • 0%

Pourquoi s'inscrire à Skillshare ?

Suivez des cours Skillshare Original primés

Chaque cours comprend de courtes leçons et des travaux pratiques

Votre abonnement soutient les enseignants Skillshare

Apprenez, où que vous soyez

Suivez des cours où que vous soyez avec l'application Skillshare. Suivez-les en streaming ou téléchargez-les pour les regarder dans l'avion, dans le métro ou tout autre endroit où vous aimez apprendre.

Transcription

1. 1. Introduction: Bonjour à tous Il s'agit d'un tutoriel sur l'API minimale dans Dotnet Six. Maintenant, avant de commencer ce tutoriel, je vais expliquer un peu ce à quoi vous pouvez vous attendre et ce à quoi ils ne s'attendent pas dans ce tutoriel. Vous pouvez donc vous attendre à ce que je vous montre comment nous créons des API dans Dotnet. Très bien, c'est ta façon de faire. Après la mort, je vais vous montrer comment créer créer une API minimale dans Dotnet Six. Pour cela, je vais créer un nouveau projet, donc nous allons partir de zéro. Vous pouvez donc voir tout ce qui est nécessaire pour créer une API minimale, ce qui n'est pas grand-chose, d'où le nom minimum. Je vais vous en montrer un peu plus sur l'injection de dépendances et l'API minimale. Je vais également vous montrer comment créer une API minimale asynchrone. ne faut donc pas s'attendre à une explication approfondie sur les API et les API en général. J'espère que vous en savez quelque chose, car je ne vais pas vous le dire. De plus, ce n'est pas un tutoriel pour C Sharp pour les débutants. Si vous n'avez pas suffisamment de connaissances sur C-Sharp, je vous recommande vivement de suivre un cours de base avant de commencer ce tutoriel. Alors avec ça, commençons. 2. 2. Exigences: Avant de commencer un didacticiel ou un cours, j'indique généralement aux gens le type d' exigences à respecter pour suivre le didacticiel ou le cours. Dans ce cas, j'utiliserai version communautaire de Visual Studio 2022, qui est téléchargeable gratuitement et facilement sur Internet. Une autre exigence est une connaissance de base de C Sharp. Si vous êtes débutant ou en do dièse, ou si vous n'avez jamais programmé en do dièse auparavant, il n'est pas conseillé de suivre leurs scores. Une autre chose dont vous devez être conscient est l'injection de dépendance. Vous devez connaître l'idée de base de l'injection de dépendance, comment elle fonctionne, comment la configurer dans vos programmes, comment l'utiliser. Et la dernière exigence est l'asynchrone. Au moins, cela n'a pas nui au terme. Et vous en savez un peu plus sur ce qu'il fait et pourquoi il est utilisé. Donc, si vous répondez à ces exigences, cela commence. 3. 3. . API NET 5: Comme je l'ai déjà dit, examinons ces cinq API avant commencer avec l'API minimale Netflix pour adultes. Donc, sur mon écran, l'API Adult Net Five s'ouvre. C'est le projet. Il a une solution. Il possède un projet comme chaque application Dotnet que vous créez. Ce qui ressort le plus, ce sont les contrôleurs de dossiers. Au sein des contrôleurs, il existe des classes, en l'occurrence une, qui est le contrôleur réel. Lorsque nous ouvrons un contrôleur, vous pouvez voir certaines méthodes, certains attributs et certaines propriétés. Lorsque vous ouvrez un contrôleur, vous verrez la classe publique, le nom du contrôleur, qui hérite du contrôleur. Il s'agit d'un code échafaudé, c'est donc ce que Microsoft vous donne lorsque vous créez une nouvelle API et que tout va bien. Je ne vais pas créer une toute nouvelle application Dotnet Find pour de petites informations. Il n'y a pas de constructeur et il existe également une méthode appelée action. Maintenant, il s'agit généralement de l'API Dotnet Five. Il possède un dossier contrôleurs, qui contient les classes, qui sont les contrôleurs au sein des actions du contrôleur. Et chaque action a certains types de retour ou non. De plus, nous devons bouleverser les choses, program.cs puis démarrer. Oui Les fonctionnalités d'Epstein concernent la configuration de votre programme, qui se trouve également dans Dotnet Six. Ce n'est donc pas quelque chose à quoi nous allons dire adieu. à quoi nous disons adieu, c'est que le point cs du démarrage au démarrage est essentiellement la configuration de votre projet. Ici, vous pouvez configurer si vous souhaitez utiliser le swagger injection de dépendances , une sorte de journalisation ou autre Vous pouvez configurer votre contexte de base de données si vous en avez un avec Entity Framework et bien plus encore, il sera déplacé vers le fichier program.cs. Et le fichier program.cs est comme, vous savez, chaque application Dotnet possède un fichier Program Dot CS. C'est là que l' application démarre réellement. Si je dois l'exécuter, cela fonctionne comme une API normale. Il est construit, démarre votre navigateur par défaut et vous avez une API et vous pouvez l' essayer si vous le souhaitez. Eh bien, tout ça est cool et tout ça. Mais ce n'est pas ce que nous allons créer. Nous allons créer une API Web CICS pour adultes. C'est l'ancienne méthode. Cela vous est peut-être familier. Je voulais juste te le montrer au cas où. Nous allons maintenant créer une API Netflix pour adultes. 4. 4. Créer la nouvelle API: Nous savons maintenant comment fonctionne l'ancienne méthode Dotnet Five. Créons une nouvelle API dans Dotnet Six. Bien entendu, la première chose à faire est de démarrer Visual Studio. En général, vous aurez des projets récents ou les supprimerez tous pour cette démonstration. Mais pour créer l'API, vous devez créer un nouveau projet. Lorsque vous cliquez dessus , tous les modèles sont chargés et vous pouvez sélectionner le modèle de votre choix. Sur le côté gauche, j'ai quelques modèles de projet récents qui contiennent déjà le type de projet que je souhaite créer. Mais pour le plaisir, partons à sa recherche. Je souhaite créer une API. Donc, dans le champ de recherche, je tape API. Quelques résultats s'affichent. Les deux premiers sont l'API Web asp.net Core, et le troisième également. Il y a juste une très grande différence. La grande différence réside dans les langues. Le premier est en do dièse, le second en fa dièse et le troisième n'est en fait pas l'API. Il s'agit de l'application Web asp.net Core. Je veux créer une API, donc je vais sélectionner la première car je veux créer en C-Sharp et non en F dièse. De plus, dans le texte, vous voyez Linux, macOS , Windows, cloud, serveurs, Web, API Web. Cela signifie donc que vous pouvez également exécuter cette API sur Linux et macOS si vous le souhaitez. Cliquez sur Suivant. Maintenant, je dois lui donner un nom de projet. Je vais juste utiliser un nom de démo, mais pensez toujours au nom que vous voulez donner, car il doit vous rappeler ce que vous êtes en train de créer. Je vais l'appeler la démo minimale de l'API. Je garderai l'emplacement qui n'est pas l'emplacement par défaut, quel est le référentiel quelque part ? Eh bien, Fisher Studio stocke vos projets par défaut. Et le nom de la solution sera également le même que le nom du projet. Je clique sur Suivant. Chaque projet possède ses propres informations supplémentaires. Dans ce cas, l'API a besoin de quelques extras. Si vous créez une application console, vous suffira de sélectionner le framework. Dans ce cas, je dois sélectionner d'autres options. Dans ce cas, j'utiliserai le framework Donut Six. Si je l'ouvre, je peux sélectionner Dotnet Five, ce qui indique également que « hors support », si je clique sur le Dog Net Five, vous verrez que certaines options disparaîtront ci-dessous. Ces options concernent toutes l'API minimale. Let Five ne prend donc pas en charge l'API minimale, et je dois donc sélectionner dotnet six ou supérieur. Je souhaite le configurer pour HTPS, bien sûr, activé plus sombre. Docker est installé sur cette machine, mais je ne l'activerai pas pour le moment. Ensuite, il y a une case à cocher qui dit utiliser des contrôleurs et vérifier, utiliser un minimum d'API. Si vous commencez par cela pour la première fois, cela sera vérifié. Si vous maintenez cette case cochée, vous aurez la possibilité de contrôler cela, ce qui n'est pas quelque chose que nous voulions cette fois-ci, car nous voulons créer une API minimale. Nous voulons donc nous débarrasser des manettes. Je vais donc désactiver la case Activer le support OpenAPI. C'est un nom fantaisiste pour fanfaronnade. Gardez-le activé. Parce que de cette façon, nous pouvons tester notre API lorsque nous l'exécutons. N'utilisez pas les déclarations de haut niveau. C'est également quelque chose pour Dotnet Six et versions supérieures. Vous pouvez le sélectionner ou non. Je vais juste le laisser décoché pour ce tutoriel. Si vous êtes satisfait de vos paramètres, sélectionnez Créer. 5. 5. Fichiers et dossiers: Nous devons maintenant vider l'API CICS créée et Visual Studio est ouvert. Et examinons de près structure des dossiers de ces nouveaux projets. Zoomons sur cet explorateur de solutions. Encore une fois, nous avons notre solution et nos projets, savoir les fichiers et dossiers de l'échafaudage. Je ne vais pas les aborder tous en profondeur. Je veux juste vous montrer que Jason est toujours disponible et qu' il n'y a qu'un seul fichier de classe, le program.cs, les contrôleurs de dossiers ont disparu et que le startup.js n'est pas non plus disponible. Donc, si vous ouvrez le fichier program.cs, vous verrez que tout est configuré dans ce fichier. Vous disposez désormais d'un générateur qui crée l' application Web et la méthode de génération, ou vous pouvez ajouter des services à votre application. Cela concerne également la feuille de travail sur la pension contexte de votre base de données, la journalisation et d'autres éléments dont vous aurez besoin lors de la création de votre API. Vous verrez également que l' ensemble de l'échafaudage concernant les prévisions météorologiques est également placé dans ce programme point c. Oui. Tout ce qui se trouvait dans différentes classes et dans un contrôleur est maintenant placé dans ce fichier particulier. Vous pouvez voir ici le résumé des types de conditions météorologiques. Ci-dessous. Il s'agit d'une carte obtenue, qui est en fait un mappage vers un point de terminaison particulier de votre API. Ce code était en fait dans le contrôleur de Dotnet Five. Cela se trouve désormais dans un seul fichier. Il possède un corps d'expression lambda qui est en fait la fonction qui renverra la prévision, qui n'est tout simplement pas la prévision réelle. Il s'agit donc de votre premier exemple d' API minimale selon laquelle tout se trouve dans un seul fichier. Et grâce aux mappages, vous pouvez créer les différents points de terminaison de votre API. Démarrez cette application. Nous pouvons voir ce qu'il fait. Démarrez le navigateur par défaut et vous verrez Swinger. Et cela ressemble exactement à l' application Dotnet car j'ai ici mon point de terminaison pour les prévisions météorologiques. Je peux l'essayer. Je peux exécuter. À l'extérieur. Rien n'a changé, mais à l'intérieur, beaucoup de choses ont changé parce que maintenant je n' ai plus de manettes. Je n'ai qu'une seule banque de fichiers et je configure, crée et gère l'ensemble de mon API. 6. 6. Cartographie - Préparations: Il s'agit donc de l' échafaudage de base contenant les informations et le code de l' API dans Dotnet Six. L'étape suivante consiste à créer d'autres mappages. Nous avons un mappage pour différentes méthodes de requêtes HTTP. Dans ce cas, je souhaite utiliser le get the post pour le supprimer et le mettre à jour. Avant de le faire, je vais créer quelques couches et préparations supplémentaires avant de passer aux autres paramètres. Je vais donc d'abord créer une nouvelle classe pour un film. Dish créera un identifiant, qui est un int. Je souhaite créer un titre. Je peux donc vraiment nommer le film. Et je veux lui donner une note, qui est également un entier, de 1 à 5. Ensuite, je veux créer une liste partir du film sombre que je viens de créer. Et je veux utiliser le film. L'identifiant en est un. La note est, donnons-lui un cinq. Et le titre est Trek. Ce n'est pas un film. Évaluation Id2. Un. Le titre est une tromperie. Nouveau. Idée. Trois. La note est de trois. Le titre est, demandez-vous, simplement parce que c'est vraiment vieux. Et encore une fois, le nouvel identifiant est pour notation est un et le titre est The Green Lantern. Enfin et surtout, l'identifiant est cinq. La note est de cinq. Le titre est la matrice. Maintenant, cela me donne une ligne rouge et cela indique que les déclarations de haut niveau doivent être poursuivies. Déclarations d'espaces de noms. Déplaçons ça. Déplaçons cela un peu vers le haut, et l'erreur disparaîtra. Très bien, maintenant, supprimons également les cartes et les enregistrements internes. Maintenez l'application Dot en cours d'exécution. Si vous supprimez celui-ci, l' application ne s'exécutera pas. Et c'est vraiment important, je ne vais vraiment pas m'étendre . Abduct John n'est pas en retard sur les intégrales de dernière ligne, mais j'ai également supprimé les résumés parce que nous ne les utiliserons plus et que nous avons une application très claire. Voilà donc la préparation. Et maintenant, nous allons créer les mappages en commençant par to get, qui est le plus simple. 7. 7. Carte GET: Très bien, le premier mappage que nous allons créer est le Get, qui contient également les méthodes de requête, HTTP GET. C'est la plus simple car l'API recevra une demande extérieure pour renvoyer certaines données. Et ces données sont exactement ce que nous voulons renvoyer. La première chose à faire est de créer une carte à points de l'application. Cela signifie que nous voulons créer une requête HTTP get. Dans Dotnet Five, nous avons dû ajouter quelques attributs pour indiquer à l'API qu'il s'agissait d'un GET ou d'un post ou autre. Nous n'avons plus besoin de le faire. Nous pouvons simplement créer une carte à points de l'application, etc. Assurez-vous de créer les nouveaux mappages et tous les autres types de mappages au-dessus de l'application Dot Run. Ne les créez pas en dessous d'eux. Carte. Obtenir. Le premier paramètre est le motif. Le modèle est en fait le point de terminaison de l'API vers lequel d'autres applications peuvent pointer pour obtenir les données. Dans ce cas, je voudrais l'appeler films, mais c'est une API. Je vais donc placer l'API au premier plan pour que nous sachions qu'il s'agit de données. Nous obtenons à partir d'une API. Ajoutons une autre barre oblique devant. Le deuxième paramètre est l'apprentissage délégué, ou dans ce cas le corps de l'expression lambda, qui s'exécute car dans ce cas, des films sont renvoyés. Je vais donc commencer par une fonction anonyme, créer des enregistrements et dire renvoyer des résultats. OK, donc l'appelant sait qu'il recevra un code de statut de 200, ce qui signifie que tout va bien. Excusez-moi. 204 signifie que c'est bon. Il a été exécuté mais vous n'avez pas renvoyé de données. Dans ce cas, ce sera 200 parce que je vais rendre les films. Et n'oubliez pas le point-virgule à la fin. Il s'agit essentiellement du mappage d'API le plus simple. Tu vas obtenir. La carte à points obtient, c'est la barre oblique de l'API Endpoint. Le corps donne des résultats, d'accord ? Et le périmètre, ce sont les films, c' est-à-dire la liste des films. Je peux commencer est maintenant l'API et nous allons créer et démarrer le navigateur par défaut. Les prévisions météorologiques ont disparu. Nous voyons maintenant les barres obliques de l'API. Je peux cliquer dessus pour l'ouvrir, l' essayer, l'exécuter. Et je l'ai. Ce sont mes films. Voici donc la carte. Optez pour le plus simple. Et passons à autre chose. Obtenons un film par identifiant, qui est également une requête GET. Au fait, un paramètre dans l'URL. 8. 8. Carte GET avec le paramètre: La prochaine est donc la carte à parcourir avec un périmètre, en l'occurrence l'identifiant d'un film. Ce que je veux créer, c'est vous pouvez obtenir un seul film à partir de l'API en indiquant un identifiant au point final, c'est assez similaire à ce que l'on obtient sur la carte précédente. Je peux donc réellement copier-coller ceci. Et la seule chose que je vais changer, c'est d'ajouter un identifiant entre crochets à la fin des films, et il doit y avoir une barre oblique devant. Je crée maintenant un point de terminaison qui indique films d' API et l' identifiant d'un film. Ensuite, dans une fonction anonyme, je vais inclure le périmètre dans cet identifiant de cas. L'API remarquera qu'il y a un paramètre supplémentaire, puis pointera, il essaiera de transformer ce périmètre en un entier, puis je pourrai l' utiliser dans mes méthodes. Dans ce cas, renvoyez les résultats, d'accord ? Films gravés, un seul identifiant équivaut à donner un identifiant. En gros, c'est ça. Je peux démarrer l'API maintenant. Je vois une deuxième API de point de terminaison, des films, un identifiant de crochets et des crochets bouclés. Je peux l'ouvrir, l' essayer pour m'identifier, je vais choisir de l'exécuter. Et voici notre film avec carte d'identité. Je peux changer l'identifiant en quatre, exécuter, et je verrai le film avec un identifiant pour cette affaire, généralement Green Lantern. 9. 9. POST de carte: La partie suivante concerne donc la publication. Dans certains cas, vous souhaitez publier les données des clients vers l'API. Et pour préparer l'API pour une demande de publication, nous allons cartographier la publication. Pour créer cela, nous créons simplement une nouvelle carte à points, la carte vantait. Et il a le même point final. Ou pour démarrer des films. Et c'est tout parce que je voulais envoyer un film à l'API Endpoint Movies. Dans un bref mappage de l'ID, nous avons dû créer un paramètre dans l'URL. Dans ce cas, le point de terminaison a été remplacé par S, dans ce cas, des films d'API. Mais je vais ajouter le type de classe Movie avec un nom dans la liste des paramètres de mon corps. Dans ce cas, l' API sait que lorsque le point de terminaison des films de l'API avec les méthodes de post-requête est appelé, doit contenir un objet le corps doit contenir un objet représentant la classe Movie. Je suis passé à Dots. Je peux continuer dans ce cas, je peux dire films, imprimés, films publicitaires. Et c'est tout. Normalement, avec un boss, vous ne renvoyez pas de données et peut-être simplement un objet créé. À des fins de démonstration, j'utiliserai un retour et je retournerai tous les films. Vous pouvez donc voir que le film a été ajouté à la liste des films. Renvoie donc les résultats. D'accord. N'oubliez pas le point-virgule à la fin de la ligne. Et allons-y. Maintenant, j'ai trois points de terminaison à atteindre. Un post et un post-test, celui que nous venons de créer. Je peux l'ouvrir. Je peux vous dire de l'essayer. Et le corps de la requête est essentiellement adjacent. Eh bien, les identifiants sont généralement créés seuls. Dans mon cas, ce n'est pas le cas. Je vais donc ajouter mon propre identifiant et j'utiliserai l'ICD-9. Le titre est The Muppets et la note est de cinq. C'est ça. C'est ce qui sera publié sur mon API. J'exécute. Et le code est 200, ce qui correspond au résultat, mais bon. Et à la fin se trouve la CIM-9, les Muppets en évaluent cinq. Maintenant, j'ai publié des données dans l'API. Si je reviens au point de terminaison de l' API movies, mais pour les méthodes de requêtes GET, j'exécute celle-ci. Je vais revoir les Muppets car je n'ai pas voulu fermer mon API. C'est donc toujours en mémoire dans la liste quand j'ai fermé l'API et qu'ils ont commencé à redémarrer ICD-9, les Muppets auront disparu. 10. 10. Carte SUPPRIMER: Nous avons maintenant créé trois points de terminaison pour un gaz, carte d'identité et une vantardise. Le moment suivant sera la suppression. Celui-ci enverra une demande de suppression à l'API afin que l'API sache que quelque chose sera supprimé. La suppression de la carte, qui correspond au mappage du point de terminaison à supprimer, est assez similaire à la précédente. Je vais créer une carte de l'application, la supprimer. Et le point final sera le même que le post et le premier GET que nous avons créés. Et derrière, je vais créer le périmètre de l'ID, et je vais le transformer en un entier qui est le même que la porte par ID. n'y a aucun conflit entre ces deux points de terminaison car ils sont séparés par les méthodes de requêtes get et delete. Donc, si j'envoie une méthode de requête GET avec un identifiant au final, je recevrai et verrai le film avec un identifiant donné. Si j'utilise la même URL ou les mêmes points de terminaison et que je l'envoie aide d'une méthode de demande de suppression à l'API, ce film en particulier sera supprimé. J'ajouterai également l'identifiant dans la liste des paramètres. Je peux donc l'utiliser dans mon corps. Et c'est fondamentalement de notoriété publique. Si vous travaillez avec C-Sharp, des films, supprimez des films, des célibataires et trouvez l'identifiant. Et c'est tout. Il s'agit méthode normale de suppression d'un élément via une API. Vous ne retournez rien. Le client recevra 200 filles, ce qui est bien, ou 204, ou des erreurs comme 400, 500. C' est tout ce que vous devez savoir du côté client. Mais dans notre cas, nous voulons voir si cela fonctionne vraiment. Je vais donc vous renvoyer les résultats. D'accord. Des films. C'est bon. C'est ça. Nous allons le tester. Je vais démarrer l'API. Le navigateur par défaut s'ouvre à nouveau. Et vous verrez maintenant quels points de terminaison peuvent obtenir, publier et supprimer. Pour l'obtenir, je vais élargir le nombre de pistes, je vais l'essayer. Et supprimons le film avec l'identifiant 2. Je n'ai aucune idée de quel film il s'agit, mais bon, il s'exécute. Et dans ce cas, je vois que le premier est Shrek avec l'identifiant un, et le second est Jaws avec l'identifiant trois, et l'identifiant deux a été supprimé. C'est comme ça que je supprime le travail. 11. 11. Carte PUT: Le dernier mappage que nous allons créer est la mise à jour. Ou plutôt, le pied est utilisé pour indiquer que vous souhaitez modifier un objet ou une valeur existants. Le résultat est en fait le même que la vantardise, sauf que vous modifiez mon poster map. Dans ce cas, cartographiez les deux points de terminaison. Juste des films d'API et j' ajouterai un film dans la liste des paramètres. Si vous souhaitez mettre à jour un objet existant, vous devez savoir où le trouver. Je suppose donc que la carte d'identité a été renseignée dans le film. Dans ce cas, je dois récupérer l'objet existant dans la liste. Trouvé. Le film est l'identifiant à point unique d'un film. Et maintenant, je peux modifier le contenu du fichier en cours de déplacement. Ainsi, par exemple la classification des mouvements est égale à la classification des films qui est transmise à l'API. Et c'est tout. Habituellement, vous avez Entity Framework pour gérer les modifications et le personnel, mais dans ce cas, Justin list, je peux maintenant dire renvoyer des résultats. OK, des films. Très bien, et allons-y. Voyons si cela fonctionne. J'entends mes bottes et une autre étendue. Essayez-le. Changeons le titre du deuxième film. Je peux laisser un champ vide car je ne le mets pas à jour. Et la note est fixée à cinq. Exécutons-le. Je retourne tous les films. Et nous y voilà. Id2 est le titre, Inception. Je l'ai réglé au hasard et maintenant c'est cinq. Et cela conclut la commande de mise à jour. 12. 12. Ajouter l'injection de dépendance: Nous avons donc maintenant discuté des besoins de base de l' API dans Dotnet Six. Nous devons parler de la configuration générale et de la manière dont nous pouvons créer des points de terminaison grâce à des mappages. L'élément suivant de la liste est l'injection de dépendances, quelque chose que nous utilisons beaucoup en tant que développeurs dans notre code. Et une API amino accepte également le modèle d'injection de dépendance. Et la façon dont nous pouvons le faire est presque la même que dans Dotnet. Amende. Ne le faites simplement pas dans une start-up parce que ce n'est pas le cas. Nous devons maintenant le configurer dans le fichier program.cs. Donc, tout d'abord, j'ai apporté quelques modifications à mon application. Passons d' abord en revue cela avant d' expliquer comment vous pouvez utiliser l'injection de dépendance. Voici donc mon application et je crée une nouvelle logique de dossiers. Et dans le dossier, il y a deux fichiers, un dossier vidéo et un film Surface Dot. Voilà le film qui dit oui. En fait, un film d'objets qui trouvait auparavant dans le fichier program.cs, mais je l'ai déplacé vers ce fichier. Et les serveurs de films sont une classe qui gère tout ce qui concerne les films. Quand je l'ai ouvert, il y a une liste privée de films contenant les mêmes films et le fichier program.cs. Et il existe quelques méthodes dans ce cas : supprimer, tout récupérer, récupérer par identifiant et insérer. J'ai supprimé la mise à jour parce que je voulais juste qu'elle soit courte et simple. Le fichier program.cs a été nettoyé. Ici, j'initialise le service de films dans une variable. Renommons-le pour des raisons évidentes. renommé Movie Service alors qu'il s'agissait d'un petit m. Et j'ai changé le corps de tous les endpoints avec Movie Service au lieu d'une liste de films parce que ce n'est plus là. J'ai donc supprimé la classe Movie et la liste des films de ce fichier et les ai déplacées vers la logique des dossiers. OK, cool. Pour créer l'injection de pénitence, nous avons besoin d'une interface. Dans ce cas, je souhaite créer une interface du service de films. Il y a moins de méthodes publiques qui doivent figurer dans l' interface. Tout d'abord, je vais créer une nouvelle interface dans la logique des fichiers, et je l'appellerai service vidéo. Et je vais juste copier, supprimer, puis au moins déplacer. Et puis déplacez-le. Bonne, mauvaise idée et encarts. Très bien, et ce sont des vides. Ça va ? Ils ont une interface. Je vais maintenant connecter l'interface à la classe Movie Service. Et ils l'ont ajouté. Maintenant, j'ai une interface connectée à la classe Movie Service. Je reviens au fichier program.cs et je vais commencer à chercher le service Builder point, notamment parce que c'est là que nous configurons notre injection de dépendances. Donc, ce que je fais habituellement, c'est de chercher le gin publicitaire et en dessous, je vais taper Filler Services Spled. Très bien, service de déménagement et connectez-le à la classe de service de cinéma. C'est ça Nous avons maintenant configuré notre injection de dépendance pour le service de films. Mais comment allons-nous l' utiliser dans nos terminaux ? En gros, vous le mettez dans la liste des paramètres de la fonction. Commençons par la plus simple : map.get ou map get rich possède un point de terminaison de films d'API, une liste de paramètres vide et un retour qui est également arrivé. Militaires, emmenez tout le monde, mon pote. Elles seront très simples car je vais injecter l'interface dans la liste des paramètres du corps. Donc, dans ce cas, I Movie Service, je vais lui donner un nom, Movie Service. Cela donne une erreur. Maintenant, je peux m'en tenir à cela parce qu'ils sont en tête-à-tête. J'ai intégré le service iMovie à ma méthode. Comment fonctionne-t-il avec le second, qui est le midgut, et je peux obtenir un film par identifiant, très simple, int id comma i movie service. Et ça marche. Vous pouvez simplement placer l'injection de pénitence derrière la liste des paramètres des requêtes de fin ou d'autres parties de l'action. Il en va de même pour le post. J'ai ici un film qui est publié par un client sur le service API Coma Movie, Movie Service et Delete. Identique à la porte d'identité. Cela donne déjà un indice, peut-être que vous voulez que iMovie serve. Je veux Et maintenant c'est fait. Je peux supprimer la réalisation du service de cinéma. Et cela fonctionne toujours si j'appuie simplement sur F5 maintenant, cela démarrera l'API. Et vous pouvez voir si cela a réellement fonctionné. Je vois toujours tous mes points de terminaison ici. Et essayons de le sécher, de l'exécuter. Et je regarde toujours tous mes films. Essayons de nous vanter, essayons-le. J'ai neuf Muppets, et la note est de cinq. Exécute. Comme vous pouvez le constater, les Muppets ont été ajoutés à cette liste. Bien sûr, ce n'est pas le meilleur exemple d'injection de dépendance car j'utilise, je configure l'injection de dépendance et je l'utilise directement. D'habitude, c'est partout et ce n'est pas grave. Mais en tant qu' injection de dépendance en un mot. 13. 13. Fabriquer ASYNC: Le dernier chapitre de ce cours explique comment faire de l'API un récepteur lui permettant traiter plusieurs demandes en même temps. Cela rend l'API un peu plus rapide pour rendre vos actions et vos méthodes asynchrones Nous devons modifier un peu les objectifs et c'est vraiment simple. Ce n'est pas vraiment beaucoup de travail. La première chose que je veux faire est d'accéder à l'interface et de tout préparer pour une chanson. Je vais donc ajouter une tâche à toutes les méthodes. Dans ce cas, la liste des tâches se déplace. Je déménage. Et changez la voix au crépuscule. Très bien, c'est facile. Maintenant, remontez à la surface et vous verrez qu'il se casse car l'implémentation du service n'est plus la même que l'interface. Changeons donc rapidement celui-ci également. Encore une fois, c'est quelque chose que vous devez savoir avant de commencer ce cours, et je dois faire en sorte que tout soit asynchrone, sinon cela ne fonctionnera pas. Il s'agit donc simplement d'une action de copier-coller. Parce qu'il s'agit d'une démo sur la création de quelque chose d'asynchrone. Habituellement, quelque chose dans la méthode devrait être disponible. Eh bien, ce n'est pas le cas, mais je fais en sorte que toutes les méthodes asynchrones les attendent dans l'API, qui est tout l'intérêt de cette démonstration. Très bien, tout est maintenant prêt pour les tâches asynchrones. Je reviens au fichier program.cs. Ici, vous pouvez voir que rien n'a changé. n'y a aucun avertissement, aucune erreur. Mais si je passe la souris dessus, suffit de tout comprendre, vous verrez qu'il est disponible. Je peux donc simplement taper ici et attendre. La question de la dette ne fonctionne pas car d'une certaine manière, elle doit toujours être utilisée dans le cadre d'une méthode asynchrone et cette méthode ou le corps ne sont pas asynchrones. Donc, pour le rendre asynchrone, tapez simplement async ici, et cela fonctionne. Maintenant, je vois que l'insert Movie Service Dot est également disponible. Nous avons donc fait celui-ci aussi. Je peux donc tout rendre asynchrone en ajoutant simplement de l'async à toutes les expressions lambda et en créant les méthodes du service Movie. Je vais attendre. C'est ça. Alors maintenant, je lance l'API et c'est toujours pareil. Rien n'a changé. Exécutons le get pour l'essayer, exécutons. Et je l'ai. Je peux également faire de même pour l'autre point de terminaison. Mais je pense que tu comprends. C'est ainsi que vous pouvez rendre l'API minimale asynchrone. 14. 14. Conclusion: Eh bien, cela conclut notre API minimale dans Dotnet Six. C'est un excellent moyen de créer des API plus petites avec moins de filles. Et ne s'est-il pas effondré ? J'aime moins de code. L'inconvénient est que si vous avez une très grosse API, vous avez un gros fichier avec tous les points de terminaison. Ce qui se passe, c'est que les utilisateurs vont répartir les différents points de terminaison dans différents fichiers. Et puis, en gros, créer à nouveau des contrôleurs ne fonctionne pas vraiment. Je pense que oui si vous avez de petites API et des microservices, mais pas pour les projets plus importants où vous avez une très grande API qui gère de nombreuses demandes. Merci d'avoir regardé. J'espère que tu as appris quelque chose. Si vous avez des questions, faites-le moi savoir dans les commentaires ou envoyez-moi un message. N'oubliez pas de me suivre pour d'autres tutoriels à venir prochainement. Merci et au revoir.