در این پست از وبسایت پرووید در رابطه با پیکربندی چندین Route در ASP.NET Web API صحبت خواهیم کرد.

پیکربندی چندین Route در Web API

در قسمت قبلی از این آموزش یک Route تک را پیکربندی کردیم اما شاید بدانید که می توانید چندین Route مختلف را در پروژه Web API با استفاده از شی HttpConfiguration پیکربندی کنید که مثالی از آن را ادامه می بینید.

بسته ی آموزش اصول برنامه نویسی در ASP.NET Core

از شما دعوت می کنیم از بسته ی آموزش اصول برنامه نویسی در ASP.NET Core دیدن کنید.

public static class WebApiConfig
{
                public static void Register(HttpConfiguration config)
    {
        config.MapHttpAttributeRoutes();
    
                // school route
        config.Routes.MapHttpRoute(
            name: "School",
            routeTemplate: "api/myschool/{id}",
            defaults: new { controller="school", id = RouteParameter.Optional }
            constraints: new { id ="/d+" }
        );

                // default route
        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
    }
}

در کدی که در قسمت بالا مشاهده می کنید ابتدا یک Route با نام School پیکربندی شده است. این اتفاق قبل از پیکربندی Route ی با نام DefaultApi انجام شده داست. بنابراین هر HTTP Request ای که به Web API وارد می شود ابتدا توسط Route ای با نام School بررسی می شود و سعی می‌شود که URL مربوط به این HTTP Request توسط این Route هندل شود و اگر این کار قابل انجام نباشد سپس Route دوم با نام School استفاده می شود.

بسته ی آموزش اصول برنامه نویسی در ASP.NET Core

از شما دعوت می کنیم از بسته ی آموزش اصول برنامه نویسی در ASP.NET Core دیدن کنید.

برای مثال اگر یک HTTP Request با URL ای به شکل http://localhost:1234/api/myschool را به Web API بدهیم توسط Route اول که همان School است Handle شده و توسط یک Controller با نام SchoolController هندل میشود.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *