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

در قسمت های قبل از این آموزش اقدام به استفاده کردن از متدهای Get و Post و Put در درون Web API کردیم. قسمت های قبلی را می توانید از مطلب آموزش ASP.NET Web API  مطالعه کنید. در این قسمت از این آموزش کار را ادامه می‌دهیم و اقدام به استفاده کردن از متد Delete می‌کنیم که با استفاده از آن بتوانیم از درون پروژه ASP.NET MVC رکورد مربوط به یک دانش آموز را با استفاده از Entity Framework حذف کنیم. در رابطه با ASP.NET MVC می توانید از بسته ی آموزش ویدئویی ASP.NET MVC و Entity Framework در قالب پروژه استفاده کنید. در رابطه با Entity Framework می توانید از بسته ی آموزش ویدئویی Entity Framework 6 استفاده کنید. همانطور که در قسمت های قبلی مشاهده کردید ما متد Delete را در Web API شبیه به کد زیر ساختیم.

public class StudentController : ApiController
{
    public StudentController()
    {
    }

    public IHttpActionResult Delete(int id)
    {
        if (id <= 0) return BadRequest("Not a valid student id"); using (var ctx = new SchoolDBEntities()) { var student = ctx.Students .Where(s => s.StudentID == id)
                .FirstOrDefault();

            ctx.Entry(student).State = System.Data.Entity.EntityState.Deleted;
            ctx.SaveChanges();
        }

        return Ok();
    }
}

این متد وظیفه هندل کردن HTTP Delete request ها می باشد. به علاوه در تصویر زیر لیستی از دانش آموزان را در View ای که در قسمت های قبل ساخته ایم مشاهده می کنید.

در کنار هر رکورد مربوط به هر دانش ‌آموز یک لینک با عنوان Delete رندر شده است که با کلیک کردن بر روی این لینک آن رکورد مربوطه از دیتابیس حذف می شود. کلیک کردن بر روی این لینک باعث ارسال شدن یک HTTP Delete request به آدرس http://localhost:64189/student/delete/{id} می شود. این request حاوی یک پارامتر به نام id است که بیانگر شناسه ی Student ای است که باید از دیتابیس حذف شود.

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

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

قدم اول

در ابتدای کار باید یک Action Method به نام Delete و از نوع HttpGet در StudentController مربوط به ASP.NET MVC کنیم. این متد یک پارامتر از نوع int و با نام id را دریافت می کند. این موضوع در کد زیر نشان داده شده است.

public class StudentController : Controller
{
    // GET: Student
    public ActionResult Index()
    {
        IList<StudentViewModel> students = null;

        using (var client = new HttpClient())
        {
            client.BaseAddress = new Uri("http://localhost:64189/api/student");
            //HTTP GET
            var responseTask = client.GetAsync("student");
            responseTask.Wait();

            var result = responseTask.Result;
            if (result.IsSuccessStatusCode)
            {
                var readTask = result.Content.ReadAsAsync<IList<StudentViewModel>>();
                readTask.Wait();

                students = readTask.Result;
            }
        }

        return View(students);
    }

    public ActionResult Delete(int id)
    {
        using (var client = new HttpClient())
        {
            client.BaseAddress = new Uri("http://localhost:64189/api/");

            //HTTP DELETE
            var deleteTask = client.DeleteAsync("student/" + id.ToString());
            deleteTask.Wait();

            var result = deleteTask.Result;
            if (result.IsSuccessStatusCode)
            {

                return RedirectToAction("Index");
            }
        }

        return RedirectToAction("Index");
    }

}

همانطور که در کد بالا مشاهده می کنید این Action Method با استفاده از یک Object از کلاس HttpClient اقدام به ارسال کردن یک HTTP Delete request کرده و پارامتر id را نیز در این HTTP Post request قرار می دهد. در Web API متد Delete مسئول هندل کردن این request می باشد که نهایتا باعث حذف شدن آن رکورد از دیتابیس می شود. توصیه می‌کنیم حتماً قسمت های قبلی از این آموزش را نیز مطالعه کنید. پس تا به اینجای کار ما توانستیم از متد Delete نیز در Web API استفاده کنیم.

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

پاسخی بگذارید

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