Publikování webového rozhraní API ASP.NET Core do služby Azure API Management pomocí sady Visual Studio
Autor: Matt Soucoup
V tomto kurzu se dozvíte, jak vytvořit projekt webového rozhraní API ASP.NET Core pomocí sady Visual Studio, zajistit, aby podporoval OpenAPI, a pak publikovat webové rozhraní API do služby Aplikace Azure i do služby Azure API Management.
Nastavení
K dokončení kurzu budete potřebovat účet Azure.
- Pokud ho nemáte, otevřete si 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é rozhraní API .
- Vyberte šablonu ASP.NET Základní webové rozhraní API a vyberte Další.
- V dialogovém okně Konfigurovat nový projekt pojmenujte weatherAPI projektu a vyberte Další.
- V dialogovém okně Další informace :
- Ověřte, že rozhraní je .NET 6.0 (dlouhodobá podpora).
- Ověřte, že je zaškrtnuté políčko Použít kontrolery (zrušte zaškrtnutí políčka používat minimální 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ž při vytváření aplikace zaškrtnete políčko Povolit podporu OpenAPI, Visual Studio automaticky přidá kód pro vytvoření definic Swaggeru. Program.cs
Otevřete soubor, 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 vždy generují.
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 se app.UseSwagger();
mimo if (app.Environment.IsDevelopment())
blok.
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 Get
akci objektu WeatherForecastController
. Proveďte následující kroky:
Otevřete soubor
WeatherForecastController.cs
.[Route("[controller]")]
Nahraďte atribut 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 Aplikace Azure 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 Aplikace Azure Service.
- Publikujte aplikaci webového rozhraní API ASP.NET Core do instance služby Azure API Management.
Publikování aplikace API do služby Aplikace Azure Service
Provedením následujících kroků publikujte webové rozhraní API ASP.NET Core do služby Azure API Management:
V Průzkumníku řešení klikněte pravým tlačítkem na požadovaný projekt a vyberte Publikovat.
V dialogovém okně Publikovat vyberte Azure a vyberte tlačítko Další.
Vyberte Aplikace Azure Service (Windows) a vyberte tlačítko Další.
Vyberte Vytvořit novou službu Aplikace Azure Service.
Zobrazí se dialogové okno Vytvořit službu App Service . Vyplní se pole Název aplikace, Skupina prostředků a Položka plánu 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 pro zadání názvu rozhraní API, názvu předplatného a skupiny prostředků můžete ponechat tak, jak jsou. Vyberte nové tlačítko 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ě Aplikace Azure 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ě Aplikace Azure 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 názvu rozhraní API s názvem WeatherAPI. Rádi bychom ho ale nazvali předpověďmi počasí. Pokud chcete aktualizovat název, proveďte následující kroky:
Přidejte následující položky hned
Program.cs
zaservies.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.
Vyčištění
Po dokončení testování aplikace přejděte na web Azure Portal a aplikaci odstraň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í.