استفاده از HTTP Get ،Put ،Post ،Delete در ASP.NET WEB API

پنجشنبه 13 مهر 1396

در این مقاله ما به توضیح چهار عمل Delete ،Put ،Post ،Get HTTP و جزئیات آن در Web API توضیح خواهیم داد که جزو مهمترین افعال ASP.NET Web API است.

استفاده از  HTTP Get ،Put ،Post ،Delete در ASP.NET WEB API

در ادامه ما چگونگی انجام HTTP را با استفاده از ASP.NET Web API توضیح خواهیم داد.

گام 1

در Visual Studio یک پروژه جدید از زیر منوی visual C# >> web >> ASP.NET Web Application با قالب Web API ایجاد کنید.

پس از باز کردن solutions پروژه خود از قسمت Solution Explorer می توانید تمام فایل ها و فولدر های پروژه خود را مشاهده نمایید. با توجه به اینکه ASP.NET Web AP از معماری سه لایه پیروی میکند خواهید دید که همه چیز مشابه به ASP.NET MVC است اما ما میتوانیم یک controller اضافه با نام ValueController  پیدا کنیم. اگر با Web API آشنایی ندارید یا به تازگی با آن آشنا شده اید پیشنهاد ما این است که قبل از مطالعه این مطلب، مقاله پیشین ما را مطالعه نمایید.

• ایجاد یک Web API ساده با ASP.NET Web API

گام 2

ما میتوانیم پنج method را در ValuesController مشاهده کنیم. که دارای دو method با نام Get و یک method همنام با سایر افعال اصلی چهارگانه است.

در این controller یک متغیرstatic  از نوع list ایجاد و سه مقدار string را به آن اضافه میکنیم.

static List<string> languages = new List<string>() 
        {   
            "C#","ASP.NET","MVC"  
        };

متد Get رشته های موجود در متغییر languages را برمیگرداند. متد Get  را به شکل زیر تغییر دهید.

public IEnumerable<string> Get()
        {
            return languages;
        } 

در صورتی که نیاز با دریافت رشته های مشخص شده از لیست دارید میتوانید آن را با متد Get با پارامتر (id) فراخوانی کنید.

public string Get(int id)
        {
            return languages[id];
        } 

اگر نیاز به افزودن یا ذخیره داده را داشتید میتوانید از متد Post استفاده نمایید.

public void Post([FromBody]string value)
        {
            languages.Add(value);
        }

و متد های Put و Delete داده ها را بروزرسانی و حذف میکنند.

// PUT api/values/5
        public void Put(int id, [FromBody]string value)
        {
            languages[id] = value;
        }

        // DELETE api/values/5  
        public void Delete(int id)
        {
            languages.RemoveAt(id);
        } 

گام 3

ما از Fiddler که یک نرم افزار رایگان است برای نظارت بر اعمال Get، Put، Post، Delete استفاده میکنیم.

اکنون پروژه خود را ساخته و آن را اجرا نمایید. ما از مسیر http://localhost:62722/api/Values  به پروژه خود دسترسی داریم. بطور پیش فرض ValueController متد Get را فراخوانی میکند. شما میتوانید با یک breakpoint متوجه اجرا متد مورد نظر شوید.

وقتی شما پارامتری را به عنوان ورودی وارد نکنید Web API بصورت خودکار متد Get را برمیگرداند و شما خروجی را بصورت XML مشاهده میکنید.

اگر ما عددی را به عنوان index متغیر static ارسال کنیم ASP.NET عنصر مربوط به index  را به عنوان یک رشته خاص بازگشت میدهد.

گام 4

اکنون Fiddler را باز نمایید ما از آن برای monitor کردن POST، PUT و delete استفاده میکنیم. اکنون وارد  قسمت composer شوید و URL  خود را وارد کنید.

با double click بر روی آخرین URL در قسمت چپ Fiddler شما نتیجه را مشاهده خواهید کرد.شما جزئیات نتیجه خود را میتوانید از قسمت request header مشاهده نمایید.

یک بار Application خود را در مرورگر refresh نمایید. از تب composer گزینه GET را از drop-down list انتخاب کنید. اخرین URL را از سمت چپ تب composer به داخل صفحه کشیده و رها کنید. خواهید دید که تمام جزئیات Host، Connection، Catch-Control، User-Agent و Accept را مشاهده نمایید.

اکنون با استفاده از Post چگونگی اضافه کردن یک رشته جدید را به list فرا خواهیم گرفت.

دوباره به تب composer بازگشته و از drop-down list گزینه POST را انتخاب کرده و در قسمت Request body رشته جدید Content-Type: application/JSON را اضافه نمایید. سپس  Execute را از قسمت بالا و سمت راست صفحه را زده و تغییرات را مشاهده نمایید.

 اکنون بر روی آخرین URL از نوار سمت چپ Fiddler دابل کلیک کرده و پاسخ request خود را مشاهده نمایید. در صورتی که پاسخ 204 را مشاهده کردید هیچ محتوایی از متد post از نوع بازگشتی وجود ندارد. به خاطر داشته باشید که Fiddler نوع داده String را بصورت "String" میپذیرد.

حالا بیایید به برسی اضافه شدن رشته مورد نظر به متغییر static بپردازیم. عمل get  را انتخاب و رشته request body را حذف کنید. در عمل Get جدید میتوانید اطلاعات اضافه شده را مشاهده نمایید.

البته شما از طریق مرورگر نیز میتوانید این اطلاعات را مشاهده نمایید. کافیست یکبار مرورگر خود را Reload نمایید.

اکنون ما میخواهیم آخرین رشته را از این متغییر static  را با استفاده از عمل PUT HTTP در Fiddler  بروزرسانی نماییم. گزینه PUT را از dropdown از تب composer باز نمایید. برای انجام عمل بروزرسانی یک رشته جدید می بایست رشته قدیمی را انتخاب نماییم پس مقدار پارامتری که به عنوان  id بعد از Values قرار میگیرد نشاندهنده رشته ای است که باید بروزرسانی شود.

اکنون صفحه خود را refresh نمایید مقدار جدید را مشاهده خواهید کرد. شما با مشاهده مشخصات درخواست خود در Fiddler نیز میتوانید نتیجه را مشاهده نمایید.

دقیقا مشابه به اعمال قبلی شما میتوانید یک رشته را از متغییر string حذف نمایید. پس فعل delete را همانند مثال های قبل انتخاب کرده و یکی از رشته ها را حذف نمایید.

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید