.NET Core Routing ve Attribute Routing Özellikleri

.NET Core Routing ve Attribute Routing Özellikleri

Bu makalede NET Core Routing ve Attribute Routing özellikleri ayrıntılı bir şekilde incelenmektedir NET Core Routing, web uygulamalarında URL yönlendirmesi için kullanılan önemli bir özelliktir ve MVC, Razor Pages ve Web API gibi yönlendirilebilir çatılarda kullanılmaktadır Bu özellik, ayarlanabilir öncelikli eşleştirme, parametre desteği, özel URL şeması ve sağlam bir sıralama sistemi gibi birçok özelliğe sahiptir
Attribute Routing ise, MVC uygulamalarındaki yönlendirme işlemlerini basitleştiren bir özelliktir Bu özellik, Controller ve Action'lara belirli bir özellik kazandırarak, yönlendirme işlemlerinde kolaylık sağlar Route, Route Prefix, Http Method ve Constraint özellikleri kullanılarak uygulanabilir
Her iki özellik de, URL yönlendirmesi sağlamak için oldukça kullanışlı ve etkilidir NET Core Routing, ayarlanabilir öncelikli eşleştirme, parametre desteği, özel URL düzenlemeleri ve sağlam bir sıral

.NET Core Routing ve Attribute Routing Özellikleri

Bu makale, .NET Core Routing ve Attribute Routing özellikleri hakkında ayrıntılı bir inceleme sunmaktadır. .NET Core Routing, HTTP isteklerini işleyen önemli bir özelliktir ve MVC, Razor Pages ve Web API gibi yönlendirilebilir çatılarda bulunmaktadır. Bu özellik, ayarlanabilir öncelikli eşleştirme, parametre desteği, özel URL düzenlemeleri ve sağlam bir sıralama sistemi gibi bir dizi özelliğe sahiptir.

Bu arada Attribute Routing, MVC uygulamalarındaki yönlendirme işlemlerini basitleştiren bir özelliktir ve Controller ve Action'lara belirli bir özellik kazandırır. Bu özellik, Route özniteliği, Route Prefix özniteliği, Http Method özniteliği ve Constraint özniteliği gibi farklı özellikler kullanılarak uygulanabilmektedir. Route özniteliği, bir Controller veya Action'in URL, HTTP öznitelikleri ve diğer benzer özelliklerini belirleyen özelliktir. Controller ve Action'lar, Route Prefix ile ortak bir öneki paylaşabilirler ve Http Method özelliği ile HTTP metodu belirlenebilir. Constraint özelliği ise, bir Controller veya Action'ın URL'de belirli bir desene veya kısıtlamaya uyması gerektiğini belirleyen bir özelliktir.

Her iki özellik de, URL yönlendirmesi sağlamak için oldukça kullanışlı ve etkili özelliklerdir. Bu makalede, .NET Core Routing ve Attribute Routing'in kendi özellikleri ve farklılıkları arasındaki ayrım detaylı bir şekilde ele alınmaktadır.


.NET Core Routing Nedir?

.NET Core Routing, web uygulamalarında URL yönlendirmesi için kullanılan bir özelliktir. Bu özellik sayesinde HTTP istekleri yönlendirilebilir ve isteklere göre belirli Controller ve Action'lar çağrılabilir. .NET Core Routing, MVC, Razor Pages ve Web API gibi .NET Core yönlendirilebilir çatılarda bulunmaktadır.


Attribute Routing Nedir?

Attribute Routing, MVC uygulamalarındaki yönlendirme işlemlerini oldukça basitleştiren bir özelliktir. Bu özellik, Controller ve Action'lara belirli bir özellik kazandırarak, yönlendirme işlemlerinde kolaylık sağlar. Yapılacak olan yönlendirme işlemi, Controller ve Action'lara belirli bir özellik kazandırılarak gerçekleştirilir. Bu özellik, belirli kontroller tarafından yönlendirilmek istenen işlemlerin daha hızlı bir şekilde yönlendirilmesine olanak sağlar.

Attribute Routing özelliği, birkaç öznitelikle kullanılmaktadır. Route özniteliği, bir Controller veya Action'in URL, HTTP öznitelikleri ve diğer benzer özellikleri belirlemeye yarayan özelliktir. Route Prefix özniteliği, belirli bir Controller veya Action grubundaki tüm URL özelliklerinin ortak bir öneki paylaşmasını sağlar. Http Method özniteliği, bir Controller veya Action ile ilişkili HTTP metodu belirler. Constraint özniteliği ise bir Controller veya Action'ın URL'de belirli bir desene veya kısıtlamaya uyması gerektiğini belirlemeye yarayan bir özelliktir. Bu özelliklerin kullanımı yönlendirme işlemlerinde hatasız bir şekilde kullanılmasına olanak sağlar.

Attribute Routing özelliği, web uygulamalarının performansını arttırarak yönlendirme işlemlerinde kullanım kolaylığı sağlar. Mimarinin daha temiz bir biçimde kullanılması için belirli bir öznitelik kullanımı çalışmaları yapılabilir. Özellikle büyük ölçekli projelerde, bu özelliklerin kullanımı, kodlama süreçlerini daha kolay hale getirir.


.NET Core Routing Özellikleri

.NET Core Routing, HTTP isteklerinde kullanılan ve MVC, Razor Pages ve Web API gibi yönlendirilebilir çatılarda yer alan bir özelliktir. Bu özellik kullanılarak, istemcilere sunulan URL'lerin Controller ve Action'lara yönlendirilmesi sağlanır. .NET Core Routing'in önemli özellikleri arasında ayarlanabilir öncelikli eşleştirme, parametre desteği, özel URL şeması ve sağlam bir sıralama sistemi bulunmaktadır.

Ayarlanabilir öncelikli eşleştirme özelliği, istek URL'sinin, belirli bir URL düzenine uygunluğuna göre denetleyici ve hareketin seçilmesini sağlar. Bu özellik, öncelikleri ayarlayarak farklı URL yapılarının eşleştirilmesine olanak tanır ve isteklerin doğru şekilde işlenmesini sağlar.

Parametre desteği, Controller ve Action'lara URL üzerinde belirli değişkenlerin parametre olarak aktarılmasını sağlar. Böylece, URL'nin belirli bir kısmı, Controller ve Action'lardaki belirli değişkenlere atanır ve işlemler bu parametreler üzerinden gerçekleştirilir.

Özel URL şeması özelliği, kişiselleştirilmiş URL düzenleri oluşturma olanağı sağlar ve daha anlamlı ve düzenli URL'ler oluşturulmasını sağlar. Bu özellik, web uygulamalarının kullanılabilirliğini artıran önemli bir faktördür.

Sağlam bir sıralama sistemi, URL'lerin belirli bir sıraya göre düzenlenmesine göre hareket etme kapasitesine sahiptir. Bu özellik sayesinde, URL'lerdeki bir değişiklik, diğer URL'leri etkilemez ve istekler doğru şekilde yönlendirilir.


Ayarlanabilir Öncelikli Eşleştirme Nedir?

.NET Core Routing özelliği, HTTP isteklerini işleyen bir özellik olarak karşımıza çıkar. Bu yönlendirilebilir çatılar arasında MVC, Razor Pages ve Web API de bulunur. .NET Core Routing'in önemli özellikleri arasında, ayarlanabilir öncelikli eşleştirme, parametre desteği, özel URL şeması ve sağlam bir sıralama sistemi bulunmaktadır.

Ayarlanabilir öncelikli eşleştirme, istek URL'sinin öncelikle belirtilen URL düzenlerine uygunluğu durumunda, çağrılacak denetleyici ve hareketi seçer. HTTPS protokolünü kullanan bir web sitesinde, URL formu şu şekilde belirlenebilir:

Nitelik Örnek
localhost/  
localhost/{controller}/ localhost/Home/
localhost/{controller}/{action}/{id?} localhost/Home/Index/5
  • İlk örnekte, URL'de ayarlar bölümü olmaması durumunda kontrolcü varsayılan olarak tanımlanır ve Index eylemi çağrılır.
  • İkinci örnekte, localhost/Home/ adresi URL'de istek yapıldığında, Home kontrolcüsü çağrılır.
  • Son örnekte, localhost/Home/Index/5 adresindeki 5, bir Parameters objetosu olarak Index adlı eyleme aktarılır.

Buna göre, .NET Core Routing özelliği sayesinde HTTP isteklerinin yönlendirme işlemleri kolaylıkla gerçekleştirilebilir.


Parametre Desteği Nedir?

Parametre desteği, .NET Core Routing özelliğinin bir parçasıdır ve MVC, Razor Pages ve Web API gibi yönlendirilebilir çatılarda kullanılabilir. Bu özellik, URL'deki belirli değişkenlerin, Controller ve Action'lara parametre olarak aktarılmasını sağlar. Bu nedenle, bir URL'deki değerler, uygulamanın kullandığı Controller ve Action'lara parametre olarak geçirilebilir. Bunun yanı sıra, bir URL'de kullanılan parametreler ile bir Controller veya Action'ın parametreleri arasındaki uyumu da sağlayabiliriz.

Parametre desteği kullanırken, belirli bir URL'deki parametrelerin adlarını ve değerlerini tanımlamalıyız. Daha sonra, uygulamanın parametreleri URL'den almasını sağlamak için Controller ve Action'larda tanımlanabilir. Örneğin, bir blog web sitesinde makalelerin sayfalarının URL'sinde kullanılan parametreleri alalım. Söz konusu URL'de, her makalenin benzersiz bir kimliği vardır ve bu kimlik, Controller ve Action'lara parametre olarak geçirilir. Böylece, makale ve yorumları URL'de kullanılan parametrelere bağlı olarak eşleşir ve kullanıcı, yorumları ile birlikte makaleye doğrudan erişebilir.


Özel URL Şeması Nedir?

Özel URL şeması, .NET Core Routing içinde mevcut olan bir özelliktir. Bu özellik sayesinde, kişisel veya kurumsal siteler için benzersiz URL'ler oluşturulabilmektedir. Kendine özgü URL yapıları, markanın sitenin ziyaretçilerinin hafızasında kalmasına yardımcı olabilir.

Bu özellik, belirli bir URL yapısına uyan belirli istekleri alarak,farklı bileşenler arasında daha düzenli bir bağlantı oluşturur. Örneğin, bir kitap satıcıları sitenin ürün detayı sayfalarının URL'sinde kitap isimleri yer alabilir. Böylece, URL yapıları daha anlamlı ve ziyaretçi için daha kolay okunabilir hale gelir. Ayrıca, özel URL yapıları arama motoru optimizasyonunda da yardımcı olur ve daha yüksek bir sıralama elde edilmesine yardımcı olabilir.

Bu özellik, URL yapısının yanı sıra diğer bileşenlerin belirtilmesini sağlayan öznitelikleri de içerir. Örneğin, bir ürünün fiyatını hesaplamak ve ekrana göstermek için bir Controller veya Action kullanabiliriz. Ayrıca URL yapısına ek olarak, Http Method özniteliği kullanarak Controller'ın bir POST veya PUT isteğinde nasıl davranacağını belirleyebiliriz. Tüm bu bilgiler, URL'lerin tam kontrolünü sağlar ve sitenin hem ziyaretçiler hem de arama motorları için daha anlaşılır hale gelmesini sağlar.


Sağlam Bir Sıralama Sistemi Nedir?

Sağlam bir sıralama sistemi, .NET Core Routing'in önemli bir özelliğidir. Bu özellik, URL düzenlerini belirli bir sıraya göre düzenler ve belirli bir eşleştirme mekanizması kullanarak bu sıraya uygun hareket eder.

Örneğin, bir URL düzeni "products/category/shoes" şeklindeyse, sağlam bir sıralama sistemi "products" öğesini ilk olarak eşleştirir, ardından "category" öğesini ve son olarak "shoes" öğesini eşleştirir. Bu sayede, doğru Controller ve Action ile bağlantı kurulması ve sonuçların doğru bir şekilde sunulması sağlanmış olur.

Sağlam bir sıralama sistemi, daha farklı URL şablonlarını yönetme olanağı sağlayarak, kullanıcı deneyimini de arttırır. Bu özellikle, büyük ölçekli web sitelerinde, kişiselleştirilmiş URL şablonları kullanılırken, istenmeyen sonuçların önlenmesine yardımcı olur. Ayrıca, SEO açısından da önemlidir, çünkü doğru şekilde sıralanmış URL'ler, arama motoru optimizasyonu için çok önemlidir.

Bir örnek olarak,

gibi büyük web siteleri, URL yapılarını hatasız bir şekilde yönetmek için sağlam bir sıralama sistemi kullanır. Bu da, son kullanıcının doğru sayfaya hızlı bir şekilde ulaşmasını sağlar.


Attribute Routing Özellikleri

Attribute Routing, MVC uygulamalarında yönlendirme işlemlerini kolaylaştıran bir özelliktir. Bu özelliği kullanarak, Controller ve Action'lara belirli bir özellik kazandırabilir ve yönlendirme işlemlerini daha rahat bir şekilde yapabilirsiniz. Attribute Routing'in en önemli özelliği, Controller ve Action'ların yönlendirme ile ilişkili belirli bir özelliğini vurgulama olanağı sağlamasıdır.

Bunun yanı sıra, Attribute Routing özelliği ile HTTP istekleri işlenebilen bir özellik sayesinde farklı tipte istekleri yönlendirmek kolaylaşır. Route özniteliği, bir Controller veya Action'in URL, HTTP öznitelikleri ve diğer benzer özelliklerini belirleyerek yönlendirme işlemini optimize eder. Ayrıca, Route Prefix özniteliği, belirli bir Controller veya Action grubundaki tüm URL özelliklerinin ortak bir öneki paylaşmasını sağlayarak yönlendirme işlemlerini daha düzenli bir hale getirir.

HTTP Method özniteliği ise bir Controller veya Action ile ilişkili HTTP metodunu belirler. Bu sayede, farklı tipte isteklerin yönlendirmesi yapılabilir. Constraint özniteliği ise bir Controller veya Action'ın URL'de belirli bir desene veya kısıtlamaya uyması gerektiğini belirleyen bir özelliktir. Böylece yönlendirme işlemleri daha sağlam hale getirilir.

Attribute Routing, .NET Core Routing ile birlikte kullanıldığında, yönlendirme işlemleri daha kolay ve hızlı bir şekilde yapılabilmektedir. Bu özellikler, MVC uygulamaları için büyük bir kolaylık sağladığından, gerekli olan öznitelikleri doğru şekilde kullanarak, yönlendirme işlemlerini daha verimli bir hale getirebilirsiniz.


Route Özniteliği Nedir?

Route özniteliği, bir Controller veya Action'in URL, HTTP öznitelikleri ve diğer benzer özelliklerini belirleyen bir özelliktir. Bu özellik sayesinde, Controller ve Action'lara özgü yol, HTTP öznitelikleri ve diğer parametreleri belirleyebilirsiniz. Örneğin, bir Controller için "/musteri" adında bir önek ve "/listele" adında bir yol kullanabilirsiniz.

Bu özellik ayrıca, bir Controller veya Action'ın varsayılan ayarları yerine el ile belirtilmiş olan özellikleri kullanmasını sağlayarak, yönlendirme işlemini daha özelleştirilebilir hale getirir. Ayrıca, bir Route özniteliği, bir MVC yolunun bir Action'a nasıl yönlendireceğini belirtir; bu da, URL desenlerinde daha fazla özelleştirme yapmanızı olanak tanır.

Ancak, Route özellikleri ile doğru bir şekilde çalışmak, yüksek düzeyde HTML, JavaScript ve SEO bilgisi gerektirir. Bu nedenle, özel öznitelikleri kullanırken dikkatli olmalı ve yol düzenleme işlemlerini gerçekleştirmeden önce dikkatli bir incelemeye tabi tutulmalıdır. Özellikle, URL'lerin birbirinden farklı olmasının yanı sıra, SEO optimizasyonu yapmak da son derece önemlidir. Bu nedenle, bir Route özelliği kullanmadan önce, İnternet'teki diğer kaynaklardan yardım alması faydalı olabilir.


Route Prefix Özniteliği Nedir?

Route Prefix Özniteliği, .NET Core Routing'in bir özelliği olarak karşımıza çıkmaktadır. Bu özellik sayesinde, belirli bir Controller veya Action grubundaki tüm URL özellikleri aynı önek ile başlar. Bu durum, URL'lerin daha düzenli ve kolay anlaşılabilir hale gelmesini sağlar. Örneğin, bir uygulamanın blog kısmında yer alan tüm Controller ve Action'lara /blog öneki eklenebilir. Böylece URL'lerin tümü, kategori, etiket veya benzeri birleştirici özelliklerle tamamlandığında bile /blog önekini koruyacaktır.

Route Prefix Özniteliği, daha iyi yönlendirme ve SEO uyumu sağlamak amacıyla kullanılabilecek önemli bir araçtır. Kullanıcılar URL'yi okumak ve anlamak için daha az zaman harcadıklarında, daha fazla ilgi odağına sahip olacaklardır. Bu özellik, özellikle büyük ölçekli web uygulamalarında kullanılabilir.

Ayrıca, Route Prefix Özniteliği ile birlikte çalışan başka özellikler de vardır. Örneğin, Route Özniteliği, bir URL'nin belirli bir Controller veya Action'a yönlendirilmesi için kullanılan özniteliktir. Bu öznitelik, belirli bir URL düzeni, URL parametreleri ve HTTP yöntemi belirleyebilir. Bunun yanı sıra, Http Method Özniteliği de benzer bir işleve sahiptir ve belirli bir HTTP yöntemini belirlemek için kullanılır. Constraint Özniteliği ise URL'nin belirli bir desen veya kısıtlamaya uyması gerektiğini belirlemenize olanak sağlar.

Netice olarak, Route Prefix Özniteliği, .NET Core Routing'in önemli özelliklerinden biridir ve MVC, Razor Pages ve Web API gibi yönlendirilebilir çatılarda bulunur. Bu özellik, URL'lerin daha düzenli ve anlaşılır hale gelmesini sağlayarak, kullanıcıların daha hızlı ve kullanışlı bir web deneyimi yaşamasını sağlar.


Http Method Özniteliği Nedir?

Http Method özniteliği, bir Controller veya Action ile ilişkili olan HTTP metodu belirler. Bu özellik sayesinde, herhangi bir Controller veya Action, istenilen bir HTTP metoduyla ilişkilendirilebilir ve bu sayede davranışı yönetilebilir. Bu özellik aynı zamanda, HTTP isteklerinin hangi HTTP metoduyla kullanılacağına karar vermek için gereklidir.

HTTP metotları, isteklerin yasal geçerliğini ve amaçlarını belirlemek için kullanılır. Bu nedenle, "GET" işlemi, yalnızca okuma amaçlı kullanılabilirken, "POST" işlemi veri gönderme amacıyla kullanılır. Bu HTTP metotlarının tam listesi aşağıdaki gibidir:

GET Sadece verileri okumak için kullanılır.
POST Veri gönderimi yapmak için kullanılır.
PUT Mevcut verileri güncellemek için kullanılır.
DELETE Bir kaydı silmek için kullanılır.

HTTP metotlarının yanı sıra, bazı özel durumlar için de başka HTTP metotları kullanılır. Örneğin, "HEAD" işlemi yalnızca sitenin başlıklarını okumak için kullanılır ve "OPTIONS" işlemi, bir sunucunun hangi işlemleri desteklediğini belirlemek için kullanılır.

Http Method özniteliği, belirli bir HTTP metodu için Controller veya Action'larla ilişkilendirilebilecek bir özelliktir. Örneğin,

  • [HttpPost], yalnızca "POST" metodu ile çağrılabilen Controller veya Action'ları belirler.
  • [HttpPut], yalnızca "PUT" metodu ile çağrılabilen Controller veya Action'ları belirler.
Bu özellik, HTTP metotlarının doğru şekilde yönlendirilmesi için oldukça önemlidir ve çoğu durumda, belirli bir HTTP metoduyla yalnızca bağlantılı olan belirli bir Controller veya Action'ın varlığı gerektirir.


Constraint Özniteliği Nedir?

Attribute Routing'de Constraint Özniteliği, Controller veya Action için belirlenen URL şemasının, belirli bir desene veya kısıtlamaya uyması gerektiğini tanımlayan bir özelliktir. Bu öznitelik, Attribute Routing vasıtasıyla, Controller veya Action sınıfındaki belirli bir yöntemin yalnızca belirli bir HTTP metoduyla çalıştırılmasını belirleyebilir, özel bir düzeni takip etmesi gerektiğini sağlayabilir, ve hatta kısıtlamalar getirerek, belirli değerlerin URL'lerde yer almasını sağlayabilir.

Bu özellik, uygulama geliştiricilerine, Controller veya Action'ların URI'larının düzenine uyumlu olmalarını sağlamak için daha fazla kontrol sağlar. Örneğin, Int ve Guid gibi belirli veri türlerinin URL sıralamasında yer almasını sağlayabilirsiniz. Multi-language websitesinde, mevcut olan tüm dilleri kontrol altında tutmak için Constraint Özniteliği kullanılabilir.

Bu özellik, Controller veya Action'ların geliştirilmesi esnasında daha sıkı bir tutarlılık ve güvenilirlik sağlar. Bu sayede, kullanıcının kötü niyetli girişlerinden veya veri kaybından korunarak uygulama güvenliği artırılabilir. Aynı zamanda, Constraint Özniteliği, URL şemasının daha az değiştirilmesi gerektiğinde, kod bakımını oldukça kolaylaştırır ve web uygulaması performansını iyileştirir.