Publier une API web ASP.NET Core sur Gestion des API 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 a 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 aurez 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 core ASP.NET à partir d’un modèle. Suivez ces instructions pour créer un projet d’API web core ASP.NET :
- Dans le menu Fichier, sélectionnez Nouveau projet>.
- Entrez API web dans la zone 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 et sélectionnez Suivant.
- Dans la boîte de dialogue Informations supplémentaires :
- Vérifiez que le Framework est .NET 6.0 (support à long terme).
- Vérifiez que la case à cocher pour Utiliser des contrôleurs est cochée (décochez-la pour utiliser des API minimales).
- Vérifiez que la case à cocher pour Activer la prise en charge d’OpenAPI est cochée.
- Sélectionnez 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érifiez que les définitions Swagger sont toujours générées
Azure API Management 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())
.
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
. Effectuez les étapes suivantes :
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 dans Gestion des API Azure :
- Publiez l’application API sur Azure App Service.
- Publiez l’application API web ASP.NET Core sur l’instance du service Gestion des API Azure.
Publier l’application API sur Azure App Service
Effectuez les étapes suivantes pour publier l’API web ASP.NET Core dans Gestion des API Azure :
Dans Explorateur de solutions, cliquez avec le bouton droit sur le projet et 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éez un nouvelAzure App Service.
La boîte de dialogue Créer un service d'applications s’affiche. 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 modifier.
Cliquez sur le bouton Créer.
Une fois le service d’application créé, sélectionnez le bouton Suivant.
Sélectionnez Créer un nouveau service gestion des API.
La boîte de dialogue Créer un service gestion des API s’affiche. Vous pouvez laisser les champs d'entrée du nom d'API , du nom d'abonnement et du groupe de ressources comme ils sont. Sélectionnez le bouton nouveau en regard de l'entrée Service de gestion des API et entrez les champs requis dans 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 synthèse s’affiche avec des informations sur la publication. Cliquez sur le bouton Publier.
L’API web publie sur Azure App Service et Gestion des API Azure. Une nouvelle fenêtre de navigateur s’affiche et affiche l’API s’exécutant 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 le nom de l’API est nommé WeatherAPI; cependant, nous aimerions l’appeler prévisions météorologiques. Effectuez les étapes suivantes pour mettre à jour le nom :
Ajoutez ce qui suit à
Program.cs
immédiatement aprèsservices.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.
Nettoyer
Une fois que vous avez terminé de tester l’application, accédez au portail Azure et 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 et sélectionnez Supprimer. Votre application et toutes les autres ressources créées dans ce tutoriel sont désormais supprimées d’Azure.
Ressources additionnelles
- Gestion des API Azure
- Azure App Service