Özelden genelere doğru sıralama yapılır. Tanımlanan özel rotaların ismi unique olmalı aynı anda aynı isimli birden fazla rota tanımlamamamız gerekir.
Oluşturulan rotalar mimari tarafından url oluştururken ve bunun gibi ekstra işlemlerde baz alınır.
Route Constraints, örneğin id değerinin kesinlikle int olmasını istiyoruz, { o: int? } hem türünü bildirdik hem nullable (?) yaptık.
{x: length(12)} x e gelecek metinsel ifadenin 12 karakter uzunluğunda olmalı diye bildiriyoruz. Tc kimlik numarasında kullanabiliriz. Tc kimlik numarasını route da taşıyorsak constraints uygulayarak 11 karakter olmasını gerektiğini uygulayabiliriz.
{x: alpha : length (12)} x in türü alpha olsun uzunluğu da 12 olacak.
Sisteme yeni bir consraint tanımlamış olduk custom adında, bunu url lerde kullanabiliriz.
İstek controller a gitmeden önce CustomConstraint tetikleniyor, middleware ya da filtre gibi araya girebiliyoruz.
Attribute Routingi controller bazlı controllerlara özel route tanımlanması gerçekleştirebiliriz.
Controller lardaki Route ayarı için endpoints.MapControllers(); ayarını unutmamalıyız.
[Route(“ana/[action]”)] controller ı özelleştirmiş olduk.
Temel mvc mimarisinde konvensiyonel (geleneksel) yaklaşım sergilerken . API lerde attribute üzerinden routing işlemlerini gerçekleştirilir.