Asp.net Core Routing Mekanizması
Asp.net core mvcde routing mekanızması asp.net mvcnin routing mekanızmasından biraz farklılaştırılmıştır. Asp.net core mvc’de 2 tip routing tanımlama şekli vardır.
- Convertional routing
- Attribute routing
1. Conventional routing
Conventional routing startup.cs içerisinde configure classı içerisinde tanımlanan routingtir. Aşağıda configureRoute adında kendi tanımladığımız metotta routeları configure metodu içerisinde register ederiz. Routebuilder üzerinden de maproute metoduyla routelarımızı asp.net mvc’dekine benzer mantıkla tanımlamamız yeterli olacaktır.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseMvc(ConfigureRoute);
}
public void ConfigureRoute(IRouteBuilder routeBuilder)
{
//İsim //Kalıp
routeBuilder.MapRoute("Default", "{controller=Home}/{action=Index}/{id?}" );
}
2. Attribute routing
Attribute routing ile controller ve action metotların üzerine Route attribute’ı tanımlayarak routing mekanızması oluşturabiliriz. Aşağıdaki route attributeları ile ındex metoduna …/home/Index şeklinde ulaşabiliriz.
[Route("home")]
public class HomeController : Controller
{
[Route("Index")]
public string Index()
{
return "Hello , from a controller";
}
}
Route’ı controller veya action ismi ile otomatik şekillenmesi için de
[Route("[controller]")]
[Route("[action]")]
kullanabiliriz.