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)?}");