Sdílet prostřednictvím


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.

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:

  1. Otevřete soubor WeatherForecastController.cs.

  2. [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:

  1. Publikujte aplikaci API do služby Aplikace Azure Service.
  2. 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:

  1. V Průzkumníku řešení klikněte pravým tlačítkem na požadovaný projekt a vyberte Publikovat.

  2. V dialogovém okně Publikovat vyberte Azure a vyberte tlačítko Další.

  3. Vyberte Aplikace Azure Service (Windows) a vyberte tlačítko Další.

  4. 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.

  5. Vyberte tlačítko Vytvořit.

  6. Po vytvoření služby App Service vyberte tlačítko Další .

  7. 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.

  8. 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.

  9. Po dokončení vyberte tlačítko Dokončit .

  10. 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.

  11. 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.

  12. V nabídce vlevo vyberte možnost rozhraní API.

  13. 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:

  1. Přidejte následující položky hned Program.cs za servies.AddSwaggerGen();

    builder.Services.ConfigureSwaggerGen(setup =>
    {
        setup.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo
        {
            Title = "Weather Forecasts",
            Version = "v1"
        });
    });
    
  2. Znovu publikujte webové rozhraní API ASP.NET Core a otevřete instanci služby Azure API Management na webu Azure Portal.

  3. 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ů:

  1. Otevřete kartu Test.
  2. Vyberte / nebo operaci Získat .
  3. Vyberte Odeslat.

Vyčištění

Po dokončení testování aplikace přejděte na web Azure Portal a aplikaci odstraňte.

  1. Vyberte skupiny prostředků a pak vyberte skupinu prostředků, kterou jste vytvořili.

  2. Na stránce Skupiny prostředků vyberte Odstranit.

  3. 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í.

Další prostředky