Route Constraints
Route Constraints

Default route dışında çıkıp yapılabilecek örnek route tanımlamaları , sınırlamaları , tip belirlemeleri

Core Mvc ile Route üzerinde istediğimiz tanımlamaları yapabiliyoruz. dilersek veri tibi , karakter sınırı, değer büyüklüğü gibi sınırlamalar kullanabiliyoruz.

Route şemasında tanımlama sırasına göre route'lar sistem tarafından dikkate alındığı için daha spesifik olan tanımlamaları üste almaya dikkat etmeliyiz.


Default Route :

Controller için varsayılan değer Home, Action için Index

site.com yazsak bile 
site.com/Home/Index çağrılmış gibi sayfa görünecektir.
Id alanı zorunlu olmadığı için yazılmasada hata vermeyecek.

app.UseEndpoints(endpoints =>
            {
                //Default Route
                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "{controller=Home}/{action=Index}/{id?}");
});

 

 

Zorunlu olmayan ve girildiğinde Sadece int değer girilmesini istiyorsak {id:int?}

                //ID INT ZORUNLU Route
                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "{controller=Home}/{action=Index}/{id:int?}");

 

Belli değerler arasında veri kabul ediyorsak örneğin 1 ile 1000 arası {id:range(1,1000)?}

                //ID alanına sadece 1,1000 arası değer girilebilir 
                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "{controller=Home}/{action=Index}/{id:range(1,1000)?}");


String değer girilmesini istiyorsak :

                //ID alanına sadece a-z arası değer girilebilir 
                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "{controller=Home}/{action=Index}/{id:alpha?}");

 

Minimum karakter şartı koymak istersek :

                //Girilen değere minimum karakter şartı koymak istersek
                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "{controller=Home}/{action=Index}/{id:minlength(3)?}");