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.
- Ouvrez un compte Azure gratuit si vous n’en avez pas.
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 :
Ouvrez le fichier
WeatherForecastController.cs
.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 :
- Publiez l’API web sur Azure App Service.
- 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 :
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet, puis sélectionnez Publier.
Dans la boîte de dialogue Publier, sélectionnez Azure, puis le bouton Suivant.
Sélectionnez Azure App Service (Windows) et sélectionnez le bouton Suivant.
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.
Cliquez sur le bouton Créer.
Une fois le service d’application créé, sélectionnez le bouton Suivant.
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.
Sélectionnez le bouton Créer pour poursuivre la création du service Gestion des API. Cette étape peut prendre plusieurs minutes.
Une fois cette opération terminée, sélectionnez le bouton Terminer.
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.
Ouvrez le Portail Azure dans un navigateur web et accédez à l’instance Gestion des API que vous avez créée.
Sélectionnez l’option API dans le menu de gauche.
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 :
Ajoutez ce qui suit à
Program.cs
immédiatement aprèsservies.AddSwaggerGen();
builder.Services.ConfigureSwaggerGen(setup => { setup.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo { Title = "Weather Forecasts", Version = "v1" }); });
Republiez l’API web ASP.NET Core et ouvrez l’instance Gestion des API Azure dans le Portail Azure.
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 :
- Ouvrez l’onglet Test.
- Sélectionnez / ou l’opération GET.
- Sélectionnez Envoyer.
Nettoyage
Après avoir testé l’application, accédez au portail Azure, puis supprimez l’application.
Sélectionnez Groupes de ressources, puis sélectionnez le groupe de ressources que vous avez créé.
Dans la page Groupes de ressources, sélectionnez Supprimer.
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.