ASP.NET Core
ASP.NET Core

ASP.NET Core Attribute Routing

ASP.NET Core, web uygulamaları oluşturmak için kullanılan güçlü ve esnek bir çerçevedir. Bu çerçeve, web API'leri ve MVC uygulamalarını hızlı bir şekilde geliştirmek için bir dizi özellik sunar. Bu özelliklerden biri de "Attribute Routing" olarak adlandırılan ve uygulama rotalarını belirlemenin bir yolunu sağlayan bir özelliktir.


Attribute Routing Nedir?

Attribute Routing, rotaların doğrudan denetleyicilere ve eylemlere öznitelikler (attributes) ile eklenmesine dayanan bir yöntemdir. Geleneksel olarak, rotalar genellikle bir konfigürasyon dosyasında veya başka bir yöntemle tanımlanır. Ancak, Attribute Routing, rotaları doğrudan ilgili eylemlere ekleyerek bu süreci daha değişken ve esnek hale getirir.

Nasıl Kullanılır?

Attribute Routing’i kullanmak oldukça basittir. Bir denetleyici eyleminin üzerine [Route] özniteliğini ekleyerek başlayabilirsiniz. Örneğin:

[Route("api/[controller]")]
public class OrnekController : ControllerBase
{
    [HttpGet]
    public IActionResult Get()
    {
        // Eylem içeriği
    }

    [HttpPost("create")]
    public IActionResult Create()
    {
        // Eylem içeriği
    }
}

Bu örnekte, OrnekController sınıfının rotası “api/Ornek” olarak belirlenmiştir. Ayrıca, Create eylemi, create ek rotasıyla birlikte gelir, bu da “api/Ornek/create” rotasına karşılık gelir.

Attribute Routing Yapıları

CRUD gerçekleştirmek için HTTP yöntemleri:

[HttpGet] [HttpPost] [HttpPut] [HttpDelete]

HEAD istekleri için eylemin çağrılması gerektiğini belirtme:

[HttpHead("{id}")]

OPTIONS istekleri için eylemin çağrılması gerektiğini belirtme:

[HttpOptions("{id}")]

PATCH istekleri için eylemin çağrılması gerektiğini belirtme:

[HttpPatch("{id}")]

Eylemin bir veya daha fazla HTTP fiili için çağrılması gerektiğini belirtme:

[AcceptVerbs("GET", "POST")]

Denetleyici için bir route şablonu belirtme:

[Route("api/[controller]")]

“ID” route parametresi ile GET isteğine yönelik eylemi belirtme:

[HttpGet("{id}")]

Bir tamsayı “id” route parametresi için GET eylemini belirtme:

[HttpGet("{id:int}")]

10 karakter uzunluğundaki “id” route parametresi için GET eylemini belirtme:

[HttpGet("{id:length(10)}")]

Bir normal ifadeyle eşleşen “id” route parametresi için GET eylemini belirtme:

[HttpGet("{id:regex(^\d{{3}}-\d{{2}}-\d{{4}}$)}")]

3+ karakterli alfabetik “kategori” parametresi için GET eylemini belirtme:

[HttpGet("urunler/{kategori:alpha:minlength(3)}")]

ASP.NET Core’da Attribute Routing, uygulama rotalarını belirleme sürecini basitleştiren ve kodun daha okunabilir ve düzenli olmasını sağlayan güçlü bir özelliktir. Bu, özellikle büyük ve karmaşık uygulamalarda hızlı geliştirme için önemlidir.

ishak.dev‘i takip ederek, benimle birlikte yeni şeyler öğrenebilir, kendinizi daha iyi geliştirebilir, kodlarınızı daha güncel ve optimize hale getirebilirsiniz. İyi kodlamalar!


Merhaba!, ishak.dev'de yazılım, tasarım ve teknoloji tutkunu biri olarak kendi deneyimlerimden ve öğrendiklerimden yola çıkarak hazırladığım yazılar paylaşıyorum. ishak.dev'i düzenli takip ederek yeni yayınlarımı kaçırmayın!

Yorumları Görüntüle
Şu anda hiç yorum bulunmamaktadır.

Bir Cevap Yazın