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.

  1. Convertional routing
  2. 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.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir