Aracılığıyla paylaş


Visual Studio ile Azure API Management'ta ASP.NET Core web API'sini yayımlama

Matt Soucoup tarafından

Bu öğreticide Visual Studio kullanarak ASP.NET Core web API'si projesi oluşturmayı, OpenAPI desteğine sahip olduğundan emin olmayı ve ardından web API'sini hem Azure Uygulaması Hizmeti'nde hem de Azure API Management'ta yayımlamayı öğreneceksiniz.

Ayarlama

Öğreticiyi tamamlamak için bir Azure hesabına ihtiyacınız vardır.

ASP.NET Core web API'si oluşturma

Visual Studio, şablondan kolayca yeni bir ASP.NET Core web API'si projesi oluşturmanıza olanak tanır. Yeni bir ASP.NET Core web API'si projesi oluşturmak için şu yönergeleri izleyin:

  • Dosya menüsünden Yeni Proje'yi> seçin.
  • Arama kutusuna Web API'sini girin.
  • ASP.NET Core Web API şablonunu seçin ve İleri'yi seçin.
  • Yeni projenizi yapılandırın iletişim kutusunda projeye WeatherAPI adını verin ve İleri'yi seçin.
  • Ek bilgi iletişim kutusunda:
  • Framework'ün .NET 6.0 (Uzun vadeli destek) olduğunu onaylayın.
  • Denetleyicileri kullan onay kutusunun (en az API kullanmak için işaretini kaldırın) işaretli olduğunu onaylayın.
  • OpenAPI desteğini etkinleştir onay kutusunun işaretli olduğunu onaylayın.
  • Create'u seçin.

Kodu keşfetme

Swagger tanımları, Azure API Management'ın uygulamanın API tanımlarını okumasına olanak sağlar. Uygulama oluşturma sırasında OpenAPI desteğini etkinleştir onay kutusunu işaretleyerek Visual Studio, Swagger tanımlarını oluşturmak için kodu otomatik olarak ekler. Program.cs Aşağıdaki kodu gösteren dosyayı açın:


...

builder.Services.AddSwaggerGen();

...

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

...

Swagger tanımlarının her zaman oluşturulduğundan emin olun

Azure API Management,uygulamanın ortamından bağımsız olarak Swagger tanımlarının her zaman mevcut olmasını gerektirir. Bunların her zaman oluşturulduğundan emin olmak için bloğun if (app.Environment.IsDevelopment()) dışına geçinapp.UseSwagger();.

Güncelleştirilmiş kod:


...

app.UseSwagger();

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

...

API yönlendirmesini değiştirme

eylemine WeatherForecastControllererişmek Get için gereken URL yapısını değiştirin. Aşağıdaki adımları tamamlayın:

  1. WeatherForecastController.cs dosyasını açın.

  2. [Route("[controller]")] sınıf düzeyi özniteliğini ile [Route("/")]değiştirin. Güncelleştirilmiş sınıf tanımı:

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

Web API'sini Azure Uygulaması Hizmeti'ne yayımlama

ASP.NET Core web API'sini Azure API Management'ta yayımlamak için aşağıdaki adımları tamamlayın:

  1. API uygulamasını Azure Uygulaması Hizmeti'ne yayımlayın.
  2. ASP.NET Core web API'sini Azure API Management hizmet örneğinde yayımlayın.

API uygulamasını Azure Uygulaması Hizmeti'ne yayımlama

ASP.NET Core web API'sini Azure API Management'ta yayımlamak için aşağıdaki adımları tamamlayın:

  1. Çözüm Gezgini'nde projeye sağ tıklayın ve Yayımla'yı seçin.

  2. Yayımla iletişim kutusunda Azure'ı ve ardından İleri düğmesini seçin.

  3. hizmet (Windows) Azure Uygulaması seçin ve İleri düğmesini seçin.

  4. Yeni Azure Uygulaması Hizmeti oluştur'u seçin.

    App Service Oluştur iletişim kutusu görüntülenir. Uygulama Adı, Kaynak Grubu ve App Service Planı giriş alanları doldurulur. Bu adları tutabilir veya değiştirebilirsiniz.

  5. Oluştur düğmesini seçin.

  6. Uygulama hizmeti oluşturulduktan sonra İleri düğmesini seçin.

  7. Yeni API Management Hizmeti oluştur'u seçin.

    API Management Hizmeti Oluştur iletişim kutusu görüntülenir. API Adı, Abonelik Adı ve Kaynak Grubu giriş alanlarını olduğu gibi bırakabilirsiniz. API Management Hizmeti girişinin yanındaki yeni düğmeyi seçin ve bu iletişim kutusundan gerekli alanları girin.

    API Management hizmetini oluşturmak için Tamam düğmesini seçin.

  8. API Management hizmeti oluşturmaya devam etmek için Oluştur düğmesini seçin. Bu adımın tamamlanması birkaç dakika sürebilir.

  9. Bu tamamlandığında Son düğmesini seçin.

  10. İletişim kutusu kapatılarak yayımlama hakkında bilgi içeren bir özet ekranı görüntülenir. Yayımla düğmesini seçin.

    Web API'si hem Azure Uygulaması Hizmetinde hem de Azure API Management'ta yayımlar. Yeni bir tarayıcı penceresi görünür ve Azure Uygulaması Hizmeti'nde çalışan API'yi gösterir. Bu pencereyi kapatabilirsiniz.

  11. Azure portalını bir web tarayıcısında açın ve oluşturduğunuz API Management örneğine gidin.

  12. Sol taraftaki menüden API'ler seçeneğini belirleyin.

  13. Önceki adımlarda oluşturduğunuz API'yi seçin. Artık doldurulur ve etrafı keşfedebilirsiniz.

Yayımlanan API adını yapılandırma

API'nin adının WeatherAPI olduğuna dikkat edin; ancak buna Weather Forecasts adını vermek istiyoruz. Adı güncelleştirmek için aşağıdaki adımları tamamlayın:

  1. Aşağıdakini hemen sonrasına Program.cs ekleyin servies.AddSwaggerGen();

    builder.Services.ConfigureSwaggerGen(setup =>
    {
        setup.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo
        {
            Title = "Weather Forecasts",
            Version = "v1"
        });
    });
    
  2. ASP.NET Core web API'sini yeniden yayımlayın ve Azure portalda Azure API Management örneğini açın.

  3. Tarayıcınızda sayfayı yenileyin. API'nin adının artık doğru olduğunu göreceksiniz.

Web API'sinin çalıştığını doğrulama

Azure API Management'ta dağıtılan ASP.NET Core web API'sini aşağıdaki adımlarla Azure portaldan test edebilirsiniz:

  1. Test sekmesini açın.
  2. Veya Al işlemini seçin/.
  3. Gönder'i seçin.

Temizleme

Uygulamayı test etme işlemini tamamladığınızda Azure portalına gidin ve uygulamayı silin.

  1. Kaynak grupları'nı ve ardından oluşturduğunuz kaynak grubunu seçin.

  2. Kaynak grupları sayfasında Sil'i seçin.

  3. Kaynak grubunun adını girin ve Sil'i seçin. Uygulamanız ve bu öğreticide oluşturulan diğer tüm kaynaklar artık Azure'dan silinir.

Ek kaynaklar