Publikování webového rozhraní API ASP.NET Core do služby Azure API Management pomocí sady Visual Studio
Podle Matt Soucoup
V tomto kurzu se dozvíte, jak vytvořit projekt webového rozhraní API ASP.NET Core pomocí sady Visual Studio, zajistit podporu OpenAPI a pak publikovat webové rozhraní API do služby Azure App Service i azure API Management.
Nastavit
K dokončení kurzu budete potřebovat účet Azure.
- Pokud ho nemáte, otevřete bezplatný účet Azure.
Vytvoření webového rozhraní API ASP.NET Core
Visual Studio umožňuje snadno vytvořit nový projekt webového rozhraní API ASP.NET Core ze šablony. Podle těchto pokynů vytvořte nový projekt webového rozhraní API ASP.NET Core:
- V nabídce Soubor vyberte Nový>Projekt.
- Do vyhledávacího pole zadejte webového rozhraní API.
- Vyberte šablonu ASP.NET Core Web API a vyberte Další.
- V dialogovém okně Konfigurace nového projektupojmenujte projekt WeatherAPI a vyberte Další.
- V dialogovém okně Další informace:
- Ověřte, že Framework je .NET 6.0 (dlouhodobá podpora).
- Potvrďte, že je zaškrtnuto políčko Použít kontrolery (zrušte zaškrtnutí pro použití minimálních rozhraní API).
- Ověřte, že je zaškrtnuté políčko Povolit podporu OpenAPI.
- Vyberte Vytvořit.
Prozkoumání kódu
Definice Swaggeru umožňují službě Azure API Management číst definice rozhraní API aplikace. Když zaškrtnete políčko Povolit podporu OpenAPI při vytváření aplikace, Visual Studio automaticky přidá kód pro vytvoření definic Swaggeru. Otevřete soubor Program.cs
, který zobrazuje následující kód:
...
builder.Services.AddSwaggerGen();
...
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI(); // Protected by if (env.IsDevelopment())
}
...
Ujistěte se, že se definice Swaggeru generují vždy.
Azure API Management potřebuje, aby definice Swaggeru byly vždy přítomny bez ohledu na prostředí aplikace. Pokud chcete zajistit, aby se vždy vygenerovaly, přesuňte app.UseSwagger();
mimo blok if (app.Environment.IsDevelopment())
.
Aktualizovaný kód:
...
app.UseSwagger();
if (app.Environment.IsDevelopment())
{
app.UseSwaggerUI();
}
...
Změna směrování rozhraní API
Změňte strukturu adres URL potřebnou pro přístup k akci Get
u WeatherForecastController
. Proveďte následující kroky:
Otevřete soubor
WeatherForecastController.cs
.Nahraďte atribut
[Route("[controller]")]
na úrovni třídy atributem[Route("/")]
. Aktualizovaná definice třídy:[ApiController] [Route("/")] public class WeatherForecastController : ControllerBase
Publikování webového rozhraní API do služby Azure App Service
Provedením následujících kroků publikujte webové rozhraní API ASP.NET Core do služby Azure API Management:
- Publikujte aplikaci API do služby Azure App Service.
- Publikujte aplikaci webového rozhraní API ASP.NET Core do instance služby Azure API Management.
Publikování aplikace API do služby Azure App Service
Provedením následujících kroků publikujte webové rozhraní API ASP.NET Core do služby Azure API Management:
Ve Průzkumníku řešeníklikněte pravým tlačítkem myši na projekt a zvolte Publikovat.
V dialogovém okně Publikovat vyberte Azure a klikněte na tlačítko Další.
Vyberte Azure App Service (Windows) a stiskněte tlačítko Další.
Vyberte Vytvořit novou službu Azure App Service.
Zobrazí se dialogové okno Vytvořit službu App Service. Vyplní se pole pro Název aplikace, pole pro Skupinu prostředkůa pole pro Plán služby App Service. Tyto názvy můžete ponechat nebo je změnit.
Vyberte tlačítko Vytvořit.
Po vytvoření služby App Service vyberte tlačítko Další.
Vyberte Vytvořit novou službu API Management.
Zobrazí se dialogové okno Vytvořit službu API Management. Pole název rozhraní API můžete ponechat, název předplatnéhoa skupiny prostředků pole položek. Vyberte tlačítko nové vedle položky služby API Management a zadejte požadovaná pole z tohoto dialogového okna.
Výběrem tlačítka OK vytvořte službu API Management.
Výběrem tlačítka Vytvořit pokračujte vytvořením služby API Management. Dokončení tohoto kroku může trvat několik minut.
Po dokončení vyberte tlačítko Dokončit.
Dialogové okno se zavře a zobrazí se souhrnná obrazovka s informacemi o publikování. Vyberte tlačítko Publikovat.
Webové rozhraní API se publikuje ve službě Azure App Service i ve službě Azure API Management. Zobrazí se nové okno prohlížeče a zobrazí se rozhraní API spuštěné ve službě Azure App Service. Toto okno můžete zavřít.
Otevřete web Azure Portal ve webovém prohlížeči a přejděte k instanci služby API Management, kterou jste vytvořili.
V nabídce vlevo vyberte možnost rozhraní API.
Vyberte rozhraní API, které jste vytvořili v předchozích krocích. Teď je naplněný a můžete prozkoumat okolí.
Konfigurace publikovaného názvu rozhraní API
Všimněte si, že název rozhraní API je WeatherAPI; chtěli bychom ho však nazývat Předpovědi Počasí. Pokud chcete aktualizovat název, proveďte následující kroky:
Přidejte následující položky pro
Program.cs
ihned poservices.AddSwaggerGen();
builder.Services.ConfigureSwaggerGen(setup => { setup.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo { Title = "Weather Forecasts", Version = "v1" }); });
Znovu publikujte webové rozhraní API ASP.NET Core a otevřete instanci služby Azure API Management na webu Azure Portal.
Aktualizujte stránku v prohlížeči. Uvidíte, že název rozhraní API je teď správný.
Ověření fungování webového rozhraní API
Nasazené webové rozhraní API ASP.NET Core ve službě Azure API Management můžete otestovat na webu Azure Portal pomocí následujících kroků:
- Otevřete kartu Test.
- Vyberte / nebo operaci Získat.
- Vyberte Odeslat.
Odklidit
Po dokončení testování aplikace přejděte na portál Azure a aplikaci smažte.
Vyberte skupiny prostředkůa pak vyberte skupinu prostředků, kterou jste vytvořili.
Na stránce Skupiny prostředků vyberte Odstranit.
Zadejte název skupiny prostředků a vyberte Odstranit. Vaše aplikace a všechny ostatní prostředky vytvořené v tomto kurzu se teď z Azure odstraní.