Udostępnij za pośrednictwem


Publikowanie internetowego interfejsu API platformy ASP.NET Core w usłudze Azure API Management za pomocą programu Visual Studio

Autor: Matt Soucoup

Z tego samouczka dowiesz się, jak utworzyć projekt internetowego interfejsu API platformy ASP.NET Core przy użyciu programu Visual Studio, upewnić się, że ma on obsługę interfejsu OpenAPI, a następnie opublikować internetowy interfejs API zarówno w usłudze aplikacja systemu Azure, jak i w usłudze Azure API Management.

Ustawienia

Do ukończenia samouczka potrzebne jest konto platformy Azure.

  • Otwórz bezpłatne konto platformy Azure, jeśli go nie masz.

Tworzenie internetowego interfejsu API platformy ASP.NET Core

Program Visual Studio umożliwia łatwe tworzenie nowego projektu internetowego interfejsu API platformy ASP.NET Core na podstawie szablonu. Postępuj zgodnie z poniższymi instrukcjami, aby utworzyć nowy projekt internetowego interfejsu API platformy ASP.NET Core:

  • W menu Plik wybierz pozycję Nowy>projekt.
  • Wprowadź internetowy interfejs API w polu wyszukiwania.
  • Wybierz szablon internetowego interfejsu API platformy ASP.NET Core i wybierz pozycję Dalej.
  • W oknie dialogowym Konfigurowanie nowego projektu nadaj projektowi nazwę WeatherAPI i wybierz pozycję Dalej.
  • W oknie dialogowym Dodatkowe informacje:
  • Upewnij się, że platforma .NET 6.0 (obsługa długoterminowa).
  • Upewnij się, że pole wyboru Użyj kontrolerów (usuń zaznaczenie, aby używać minimalnych interfejsów API) jest zaznaczone.
  • Upewnij się, że zaznaczono pole wyboru Włącz obsługę interfejsu OpenAPI.
  • Wybierz pozycję Utwórz.

Eksplorowanie kodu

Definicje struktury Swagger umożliwiają usłudze Azure API Management odczytywanie definicji interfejsu API aplikacji. Zaznaczając pole wyboru Włącz obsługę interfejsu OpenAPI podczas tworzenia aplikacji, program Visual Studio automatycznie dodaje kod w celu utworzenia definicji struktury Swagger. Program.cs Otwórz plik, który pokazuje następujący kod:


...

builder.Services.AddSwaggerGen();

...

if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI(); // Protected by if (env.IsDevelopment())
}

...

Upewnij się, że definicje struktury Swagger są zawsze generowane

Usługa Azure API Management wymaga, aby definicje struktury Swagger zawsze obecne, niezależnie od środowiska aplikacji. Aby upewnić się, że są one zawsze generowane, przejdź app.UseSwagger(); poza if (app.Environment.IsDevelopment()) blok.

Zaktualizowany kod:


...

app.UseSwagger();

if (app.Environment.IsDevelopment())
{
    app.UseSwaggerUI();
}

...

Zmienianie routingu interfejsu API

Zmień strukturę adresu URL wymaganą Get do uzyskania dostępu do akcji .WeatherForecastController Zakończ poniższe kroki:

  1. Otwórz plik WeatherForecastController.cs.

  2. Zastąp [Route("[controller]")] atrybut na poziomie klasy atrybutem [Route("/")]. Zaktualizowana definicja klasy :

    [ApiController]
    [Route("/")]
    public class WeatherForecastController : ControllerBase
    

Publikowanie internetowego interfejsu API w usłudze aplikacja systemu Azure

Wykonaj następujące kroki, aby opublikować internetowy interfejs API platformy ASP.NET Core w usłudze Azure API Management:

  1. Publikowanie aplikacji interfejsu API w usłudze aplikacja systemu Azure Service.
  2. Opublikuj aplikację internetowego interfejsu API platformy ASP.NET Core w wystąpieniu usługi Azure API Management.

Publikowanie aplikacji interfejsu API w usłudze aplikacja systemu Azure

Wykonaj następujące kroki, aby opublikować internetowy interfejs API platformy ASP.NET Core w usłudze Azure API Management:

  1. W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy projekt i wybierz polecenie Opublikuj.

  2. W oknie dialogowym Publikowanie wybierz pozycję Azure i wybierz przycisk Dalej.

  3. Wybierz pozycję aplikacja systemu Azure Service (Windows) i wybierz przycisk Next (Dalej).

  4. Wybierz pozycję Utwórz nową usługę aplikacja systemu Azure.

    Zostanie wyświetlone okno dialogowe Tworzenie usługi App Service . Pola wprowadzania Nazwa aplikacji, Grupa zasobów i Plan usługi App Service są wypełniane. Możesz zachować te nazwy lub zmienić je.

  5. Zaznacz przycisk Utwórz.

  6. Po utworzeniu usługi App Service wybierz przycisk Dalej .

  7. Wybierz pozycję Utwórz nową usługę API Management.

    Zostanie wyświetlone okno dialogowe Tworzenie usługi API Management. Możesz pozostawić pola pozycji Nazwa interfejsu API, Nazwa subskrypcji i Grupa zasobów, tak jak są. Wybierz nowy przycisk obok wpisu usługa API Management i wprowadź wymagane pola z tego okna dialogowego.

    Wybierz przycisk OK, aby utworzyć usługę API Management.

  8. Wybierz przycisk Utwórz, aby kontynuować tworzenie usługi API Management. Wykonanie tego kroku może potrwać kilka minut.

  9. Po zakończeniu wybierz przycisk Zakończ .

  10. Zostanie zamknięte okno dialogowe i zostanie wyświetlony ekran podsumowania zawierający informacje o publikowaniu. Wybierz przycisk Publikuj.

    Internetowy interfejs API jest publikowany zarówno w usłudze aplikacja systemu Azure, jak i w usłudze Azure API Management. Zostanie wyświetlone nowe okno przeglądarki i zostanie wyświetlone interfejs API uruchomiony w usłudze aplikacja systemu Azure Service. Możesz zamknąć to okno.

  11. Otwórz witrynę Azure Portal w przeglądarce internetowej i przejdź do utworzonego wystąpienia usługi API Management.

  12. Wybierz opcję Interfejsy API z menu po lewej stronie.

  13. Wybierz interfejs API utworzony w poprzednich krokach. Jest on teraz wypełniany i można go eksplorować.

Konfigurowanie opublikowanej nazwy interfejsu API

Zwróć uwagę, że nazwa interfejsu API nosi nazwę WeatherAPI. Chcemy jednak nazwać ją Prognozami pogody. Wykonaj następujące kroki, aby zaktualizować nazwę:

  1. Dodaj następujące polecenie bezpośrednio Program.cs po servies.AddSwaggerGen();

    builder.Services.ConfigureSwaggerGen(setup =>
    {
        setup.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo
        {
            Title = "Weather Forecasts",
            Version = "v1"
        });
    });
    
  2. Ponownie opublikuj internetowy interfejs API platformy ASP.NET Core i otwórz wystąpienie usługi Azure API Management w witrynie Azure Portal.

  3. Odśwież stronę w przeglądarce. Zobaczysz, że nazwa interfejsu API jest teraz poprawna.

Sprawdzanie, czy internetowy interfejs API działa

Możesz przetestować wdrożony internetowy interfejs API platformy ASP.NET Core w usłudze Azure API Management w witrynie Azure Portal, wykonując następujące czynności:

  1. Otwórz kartę Test.
  2. Wybierz / lub operację Pobierz .
  3. Wybierz Wyślij.

Czyszczenie

Po zakończeniu testowania aplikacji przejdź do witryny Azure Portal i usuń aplikację.

  1. Wybierz pozycję Grupy zasobów, a następnie wybierz utworzoną grupę zasobów.

  2. Na stronie Grupy zasobów wybierz pozycję Usuń.

  3. Wprowadź nazwę grupy zasobów i wybierz pozycję Usuń. Aplikacja i wszystkie inne zasoby utworzone w tym samouczku są teraz usuwane z platformy Azure.

Dodatkowe zasoby