0Pricing
C# Academy · Ders

Asp.Versioning Yapılandırması

ASP.NET Core'da sürümlemeyi ayarlayın.

Asp.Versioning Yapılandırması, CoddyKit'te ücretsiz bir C# Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, C# Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. C# Academy kursu toplamda 4 dersten oluşur.

Asp.Versioning Paketi

ASP.NET Core API sürümleme işlevi, topluluk tarafından sürdürülen Asp.Versioning paketlerinde bulunur (Microsoft.AspNetCore.Mvc.Versioning paketinin halefi).

dotnet add package Asp.Versioning.Mvc
dotnet add package Asp.Versioning.Mvc.ApiExplorer

AddApiVersioning

Sürümlemeyi AddApiVersioning ile kaydedin. Seçenekler varsayılan sürümü ve eksik sürümlerin nasıl ele alınacağını denetler.

builder.Services.AddApiVersioning(options =>
{
    options.DefaultApiVersion = new ApiVersion(1, 0);
    options.AssumeDefaultVersionWhenUnspecified = true;
    options.ReportApiVersions = true;
});

ReportApiVersions

ReportApiVersions = true, kullanılabilir sürümlerin istemciler tarafından keşfedilebilmesi için api-supported-versions ve api-deprecated-versions yanıt üstbilgilerini ekler.

// Response headers:
// api-supported-versions: 1.0, 2.0
// api-deprecated-versions: 1.0

Sürüm Okuyucusunu Seçme

ApiVersionReader, sürümün nereden okunacağını belirler. UrlSegmentApiVersionReader, sürümü rota yolundan okur.

options.ApiVersionReader = new UrlSegmentApiVersionReader();

Okuyucuları Birleştirme

ApiVersionReader.Combine ile sürümü aynı anda birden çok yerden kabul edin.

options.ApiVersionReader = ApiVersionReader.Combine(
    new UrlSegmentApiVersionReader(),
    new HeaderApiVersionReader("X-Api-Version"),
    new QueryStringApiVersionReader("api-version"));

API Gezgini Ekleme

Sürümlemenin OpenAPI ile tümleşmesi için AddApiExplorer zincirini ekleyin. Biçim dizesi, sürüm grubu adlarının nasıl görüneceğini belirler.

builder.Services
    .AddApiVersioning(options => { /* ... */ })
    .AddApiExplorer(options =>
    {
        options.GroupNameFormat = "'v'VVV";
        options.SubstituteApiVersionInUrl = true;
    });

Denetleyici Sürümleme

Bir denetleyiciye [ApiVersion] ek açıklamasını uygulayın ve rota şablonuna sürüm yer tutucusunu ekleyin.

[ApiVersion(1.0)]
[Route("api/v{version:apiVersion}/products")]
public class ProductsV1Controller : ControllerBase
{
    [HttpGet]
    public IActionResult Get() => Ok(new { version = "1.0" });
}

İkinci Sürüm

Ayrı bir denetleyici, aynı rota şablonunda v2'yi sunar. {version:apiVersion} bölümü, istekleri doğru denetleyiciye yönlendirir.

[ApiVersion(2.0)]
[Route("api/v{version:apiVersion}/products")]
public class ProductsV2Controller : ControllerBase
{
    [HttpGet]
    public IActionResult Get() =>
        Ok(new { version = "2.0", extra = true });
}

Tek Denetleyicide Birden Çok Sürüm

Tek bir denetleyici birden çok sürümü sunabilir; tek tek eylemleri [MapToApiVersion] ile eşleyebilirsiniz.

[ApiVersion(1.0)]
[ApiVersion(2.0)]
[Route("api/v{version:apiVersion}/orders")]
public class OrdersController : ControllerBase
{
    [HttpGet, MapToApiVersion(1.0)]
    public IActionResult GetV1() => Ok("v1");

    [HttpGet, MapToApiVersion(2.0)]
    public IActionResult GetV2() => Ok("v2");
}

Bir Sürümü Kullanımdan Kaldırma

İşlevselliğini korurken kullanım süresinin sona ereceğini duyurmak için bir sürümü kullanımdan kaldırılmış olarak işaretleyin.

[ApiVersion(1.0, Deprecated = true)]
[ApiVersion(2.0)]
[Route("api/v{version:apiVersion}/products")]
public class ProductsController : ControllerBase { }

Minimal API'leri Sürümlendirme

Minimal API'ler, NewApiVersionSet ile oluşturulan bir sürüm kümesini kullanır; ardından her uç noktaya sürümler eklenir.

var versionSet = app.NewApiVersionSet()
    .HasApiVersion(new ApiVersion(1, 0))
    .HasApiVersion(new ApiVersion(2, 0))
    .Build();

app.MapGet("/api/v{version:apiVersion}/ping", () => "pong")
   .WithApiVersionSet(versionSet)
   .MapToApiVersion(2.0);

Kısa Kontrol

AddApiExplorer'ın ne işe yaradığını doğrulayın.

Özet

Asp.Versioning'ı yapılandırdınız:

  • AddApiVersioning, varsayılan sürümü ve raporlamayı ayarlar.
  • ApiVersionReader.Combine, sürümleri URL'den, üst bilgiden veya sorgudan okur.
  • [ApiVersion] ve {version:apiVersion}, istekleri yönlendirir; [MapToApiVersion], eylemleri hedefler.
  • Minimal API'ler bir sürüm kümesi kullanır.

Sırada: OpenAPI belgeleri oluşturma.

Sıkça Sorulan Sorular

“Asp.Versioning Yapılandırması” dersi ücretsiz mi?

Evet — “Asp.Versioning Yapılandırması” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve C# Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. C# Academy kursu toplamda 4 dersten oluşur.

“Asp.Versioning Yapılandırması” dersinde ne öğreneceğim?

ASP.NET Core'da sürümlemeyi ayarlayın. C# Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

C# Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te C# Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“Asp.Versioning Yapılandırması” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu C# Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her C# Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. API Sürümleme Stratejileri
  2. Asp.Versioning Yapılandırması
  3. OpenAPI Belgeleri Oluşturma
  4. Sürümlenmiş API'leri Belgeleme
← C# Academy Sayfasına Dön