ASP.NET Core Attribute Routing

ASP.NET Core Attribute Routing

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!

Previous Article

CSS Selectors Nedir? Türleri Nelerdir?

Next Article

Visual Studio'da İşinizi Kolaylaştıracak Kısayollar

Write a Comment

Bir Cevap Yazın