Partage via


Publier une API web ASP.NET Core sur API Management Azure avec Visual Studio

Par Matt Soucoup

Dans ce tutoriel, vous allez apprendre à créer un projet d’API web ASP.NET Core à l’aide de Visual Studio, à vérifier qu’il dispose de la prise en charge d’OpenAPI, puis à publier l’API web sur Azure App Service et Gestion des API Azure.

Configurer

Pour suivre le tutoriel, vous avez besoin d’un compte Azure.

Créer une API web ASP.NET Core

Visual Studio vous permet de créer facilement un projet d’API web ASP.NET Core à partir d’un modèle. Suivez ces instructions pour créer un projet d’API web ASP.NET Core :

  • Dans le menu Fichier, sélectionnez Nouveau>Projet.
  • Entrez API web dans le champ de recherche.
  • Sélectionnez le modèle API web ASP.NET Core, puis Suivant.
  • Dans la boîte de dialogue Configurer votre nouveau projet, nommez le projet WeatherAPI, puis sélectionnez Suivant.
  • Dans la boîte de dialogue Informations supplémentaires :
  • Vérifiez que le framework est .NET 6.0 (prise en charge à long terme).
  • Vérifiez que la case à cocher Utiliser des contrôleurs (décocher pour utiliser les API minimales) est cochée.
  • Vérifiez que la case Activer la prise en charge d’OpenAPI est cochée.
  • Sélectionnez Create (Créer).

Explorer le code

Les définitions Swagger permettent à Gestion des API Azure de lire les définitions d’API de l’application. En cochant la case Activer la prise en charge d’OpenAPI lors de la création de l’application, Visual Studio ajoute automatiquement le code pour créer les définitions Swagger. Ouvrez le fichier Program.cs, qui affiche le code suivant :


...

builder.Services.AddSwaggerGen();

...

if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI(); // Protected by if (env.IsDevelopment())
}

...

Vérifier que les définitions Swagger sont toujours générées

Gestion des API Azure a besoin que les définitions Swagger soient toujours présentes, quel que soit l’environnement de l’application. Pour vous assurer qu’elles sont toujours générées, déplacez app.UseSwagger(); en dehors du bloc if (app.Environment.IsDevelopment()).

Le code mis à jour :


...

app.UseSwagger();

if (app.Environment.IsDevelopment())
{
    app.UseSwaggerUI();
}

...

Modifier le routage de l’API

Modifiez la structure d’URL nécessaire pour accéder à l’action Get du WeatherForecastController. Suivez les étapes ci-dessous :

  1. Ouvrez le fichier WeatherForecastController.cs .

  2. Remplacez l’attribut de niveau classe [Route("[controller]")] par [Route("/")]. Définition de classe mise à jour :

    [ApiController]
    [Route("/")]
    public class WeatherForecastController : ControllerBase
    

Publier l’API web sur Azure App Service

Effectuez les étapes suivantes pour publier l’API web ASP.NET Core sur Gestion des API Azure :

  1. Publiez l’API web sur Azure App Service.
  2. Publiez l’application d’API web ASP.NET Core sur l’instance de service Gestion des API Azure.

Publier l’API web sur Azure App Service

Effectuez les étapes suivantes pour publier l’API web ASP.NET Core sur Gestion des API Azure :

  1. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet, puis sélectionnez Publier.

  2. Dans la boîte de dialogue Publier, sélectionnez Azure, puis le bouton Suivant.

  3. Sélectionnez Azure App Service (Windows) et sélectionnez le bouton Suivant.

  4. Sélectionnez Créer une instance Azure App Service.

    La boîte de dialogue Créer App Service apparaît. Les champs d’entrée Nom de l’application, Groupe de ressources et Plan App Service sont renseignés. Vous pouvez conserver ces noms ou les changer.

  5. Cliquez sur le bouton Créer.

  6. Une fois le service d’application créé, sélectionnez le bouton Suivant.

  7. Sélectionnez Créer un service Gestion des API.

    La boîte de dialogue Créer un service de gestion des API s’affiche. Vous pouvez laisser les champs d’entrée Nom de l’API, Nom de l’abonnement et Groupe de ressources tels qu’ils sont. Sélectionnez le bouton Nouveau en regard de l’entrée Service Gestion des API et entrez les champs requis de cette boîte de dialogue.

    Sélectionnez le bouton OK pour créer le service Gestion des API.

  8. Sélectionnez le bouton Créer pour poursuivre la création du service Gestion des API. Cette étape peut prendre plusieurs minutes.

  9. Une fois cette opération terminée, sélectionnez le bouton Terminer.

  10. La boîte de dialogue se ferme et un écran de résumé s’affiche avec des informations sur la publication. Cliquez sur le bouton Publier.

    L’API web publie à la fois sur Azure App Service et Gestion des API Azure. Une nouvelle fenêtre de navigateur s’affiche et affiche l’API en cours d’exécution dans Azure App Service. Vous pouvez fermer cette fenêtre.

  11. Ouvrez le Portail Azure dans un navigateur web et accédez à l’instance Gestion des API que vous avez créée.

  12. Sélectionnez l’option API dans le menu de gauche.

  13. Sélectionnez l’API que vous avez créée dans les étapes précédentes. Elle est maintenant remplie et vous pouvez l’explorer.

Configurer le nom de l’API publiée

Notez que l’API est nommée WeatherAPI ; toutefois, nous aimerions l’appeler Weather Forecasts. Effectuez les étapes suivantes pour mettre à jour le nom :

  1. Ajoutez ce qui suit à Program.cs immédiatement après servies.AddSwaggerGen();

    builder.Services.ConfigureSwaggerGen(setup =>
    {
        setup.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo
        {
            Title = "Weather Forecasts",
            Version = "v1"
        });
    });
    
  2. Republiez l’API web ASP.NET Core et ouvrez l’instance Gestion des API Azure dans le Portail Azure.

  3. Actualisez la page dans votre navigateur. Vous verrez que le nom de l’API est maintenant correct.

Vérifier que l’API web fonctionne

Vous pouvez tester l’API web ASP.NET Core déployée dans Gestion des API Azure à partir du Portail Azure en procédant comme suit :

  1. Ouvrez l’onglet Test.
  2. Sélectionnez / ou l’opération GET.
  3. Sélectionnez Envoyer.

Nettoyage

Après avoir testé l’application, accédez au portail Azure, puis supprimez l’application.

  1. Sélectionnez Groupes de ressources, puis sélectionnez le groupe de ressources que vous avez créé.

  2. Dans la page Groupes de ressources, sélectionnez Supprimer.

  3. Entrez le nom du groupe de ressources, puis sélectionnez Supprimer. Votre application et toutes les autres ressources créées dans ce didacticiel sont désormais supprimées d’Azure.

Ressources supplémentaires