در این پست از وبسایت پرووید در رابطه با بررسی Media Type Formatter ها در ASP.NET Web API #2 صحبت خواهیم کرد.

در قسمت قبلی از این آموزش در رابطه با به دست آوردن Media Type Formatter های Built-in صحبت کردیم.

بررسی BSON Formatter

علاوه بر دو فرمت JSON و XML، در ASP.NET Web API فرمت BSON نیز پشتیبانی می شود. همانطور که از نام این فرمت مشخص است، فرمت BSON به معنی Binary JSON است. در واقع این Media Type Formatter به صورت Binary Encoding داده هایی که در فرمت JSON هستند را Serialize می کند. در حال حاضر پشتیبانی بسیار کمی از این Media Type Formatter انجام می شود و هیچ پیاده سازی از جاوا اسکریپت برای استفاده از این فرمت در مرورگر ها وجود ندارد. به بیان ساده امکان به دست آوردن و به صورت خودکار Parse کردن داده های BSON به Object های جاوا اسکریپت وجود ندارد. به منظور استفاده از BSON در ASP.NET Web API یک کلاس با نام BsonMediaTypeFormatter که به صورت پیش فرض Disabled است وجود دارد. در رابطه با جاوا اسکریپت توصیه می کنیم که حتماً از بسته ی آموزش ویدئویی جاوا اسکریپت استفاده کنید.

بررسی JSON Formatter

همانطور که قبلا نیز گفتیم ASP.NET Web API به صورت Built-in کلاس JsonMediaTypeFormatter را در درون خودش دارد که می تواند با استفاده از این کلاس با فرمت JSON کار کند. کلاس JsonMediaTypeFormatter داده های JSON در یک Request را به Object های CLR تبدیل کرده و همچنین Object های CLR را با استفاده از همین کلاس به داده‌های JSON تبدیل کرده و آن‌ها را در Response ای که قرار است به سمت کلاینت ارسال شود قرار می دهد. به صورت داخلی JsonMediaTypeFormatter از یک Library که به صورت Open Source به نام Json.NET وجود دارد برای انجام عملیات Serialization استفاده می کند. در رابطه با Serialization در در بسته ی آموزش ویدئویی سریالیزیشن در سی شارپ بیشتر صحبت کرده‌ایم.

پیکربندی JSON Serialization

شاید جالب باشد بدانید که JSON Formatter ای که در ASP.NET Web API وجود دارد می‌تواند در درون کلاس WebApiConfig پیکربندی شود. کلاس JsonMediaTypeFormatter شامل Property ها و متدهای مختلفی است که با استفاده از آن می توانید فرایند Serialization را سفارشی سازی یا اصطلاحاً Customize کنید. برای مثال ASP.NET Web API به صورت پیش‌فرض نام Property های JSON را با PascalCasing می نویسد. اگر بخواهید نام Property ها به صورت camelCasing نوشته بشود می توانید این کار را به راحتی با استفاده از یک Property به نان CamelCasePropertyNamesContactResolver انجام دهید. در رابطه با روش های صحیح کدنویسی توصیه می کنیم که از بسته ی آموزش ویدئویی اصول کدنویسی با کیفیت بالا استفاده کنید.

بسته ی آموزش ویدئویی پیاده سازی امنیت در Web API در ASP.NET Core

از شما دعوت می کنیم که از بسته ی آموزش ویدئویی پیاده سازی امنیت در Web API در ASP.NET Core دیدن کنید.

 در کدی که در قسمت زیر نشان داده شده است این موضوع لحاظ شده است.

public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        config.MapHttpAttributeRoutes();
            
        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );

        // configure json formatter
        JsonMediaTypeFormatter jsonFormatter = config.Formatters.JsonFormatter;

        jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
    }
}

بررسی XML Formatter

کلاس XmlMediaTypeFormatter به منظور Serialize کردن Model Object ها به داده های XML است. این کلاس برای تولید کردن داده های XML از کلاس DataContractSerializer استفاده میکند.

امیدواریم که این آموزش از وبسایت پرووید نیز مورد توجه تمامی دوستان عزیز قرار گرفته باشد. از شما دعوت می‌کنیم که از دیگر آموزش های ما در رابطه با Web API استفاده کنید. لیست کامل این آموزش ها را می توانید در پست مربوط به آموزش ASP.NET Web API مشاهده کنید.

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

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