Visual Studio ile Azure API Management'ta ASP.NET Core web API'sini yayımlama
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.
- Hesabınız yoksa ücretsiz bir Azure hesabı açın.
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 WeatherForecastController
erişmek Get
için gereken URL yapısını değiştirin. Aşağıdaki adımları tamamlayın:
WeatherForecastController.cs
dosyasını açın.[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:
- API uygulamasını Azure Uygulaması Hizmeti'ne yayımlayın.
- 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:
Çözüm Gezgini'nde projeye sağ tıklayın ve Yayımla'yı seçin.
Yayımla iletişim kutusunda Azure'ı ve ardından İleri düğmesini seçin.
hizmet (Windows) Azure Uygulaması seçin ve İleri düğmesini seçin.
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.
Oluştur düğmesini seçin.
Uygulama hizmeti oluşturulduktan sonra İleri düğmesini seçin.
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.
API Management hizmeti oluşturmaya devam etmek için Oluştur düğmesini seçin. Bu adımın tamamlanması birkaç dakika sürebilir.
Bu tamamlandığında Son düğmesini seçin.
İ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.
Azure portalını bir web tarayıcısında açın ve oluşturduğunuz API Management örneğine gidin.
Sol taraftaki menüden API'ler seçeneğini belirleyin.
Ö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:
Aşağıdakini hemen sonrasına
Program.cs
ekleyinservies.AddSwaggerGen();
builder.Services.ConfigureSwaggerGen(setup => { setup.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo { Title = "Weather Forecasts", Version = "v1" }); });
ASP.NET Core web API'sini yeniden yayımlayın ve Azure portalda Azure API Management örneğini açın.
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:
- Test sekmesini açın.
- Veya Al işlemini seçin/.
- Gönder'i seçin.
Temizleme
Uygulamayı test etme işlemini tamamladığınızda Azure portalına gidin ve uygulamayı silin.
Kaynak grupları'nı ve ardından oluşturduğunuz kaynak grubunu seçin.
Kaynak grupları sayfasında Sil'i seçin.
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
ASP.NET Core
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin