پیاده سازی متد POST در ASP.NET Web API

پیاده سازی متد POST در ASP.NET Web API

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

در این قسمت از این آموزش از وبسایت پرووید که در ادامه قسمت های قبلی منتشر شده است قصد داریم که متد Post مربوط به Web API ای که در قسمت های قبلی ساخته ایم را اضافه کنیم. دقت کنید که در Web API متد Post وظیفه درج یک رکورد جدید در دیتابیس با استفاده از معماری RESTful را دارد. در واقع ما با اضافه کردن یک Action Method از نوع Post در StudentController اجازه می‌دهیم که یک رکورد جدید برای Student با استفاده از Entity Framework در دیتابیس اضافه بشود. در رابطه با Entity Framework از بسته ی آموزش ویدئویی Entity Framework 6 و آموزش Entity Framework Core و دسترسی به داده ها استفاده کنید.

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

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

بر اساس Naming Convention ها یا همان رسم و رسومات نامگذاری یک Action Method که مسئول هندل کردن HTTP Post request می باشد باید با کلمه Post نام آن را آغاز کنید. علاوه بر این کلمه می توانید هر تعداد کلمه دیگری را در ادامه نام آن در نظر بگیرید. در ادامه یک Action Method از نوع Post را با نام PostNewStudent را در StudentController پیاده سازی می کنیم. ضمناً در رابطه با Naming Convention ها در بسته ی آموزش ویدئویی کدنویسی تمیز: نوشتن کد برای انسان ها به طور مفصل صحبت کرده ایم.

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

    //Get action methods of the previous section
    public IHttpActionResult PostNewStudent(StudentViewModel student)
    {
        if (!ModelState.IsValid)
            return BadRequest("Invalid data.");

        using (var ctx = new SchoolDBEntities())
        {
            ctx.Students.Add(new Student()
            {
                StudentID = student.Id,
                FirstName = student.FirstName,
                LastName = student.LastName
            });

            ctx.SaveChanges();
        }

        return Ok();
    }
} 

همانطور که در کد بالا مشاهده می کنید نام این Action Method را PostNewStudent گذاشته ایم. می توانید هر نام دیگری را برای این Action Method در نظر بگیرید اما این نام باید با کلمه Post آغاز بشود. علاوه بر این این Action Method یک پارامتر ورودی از نوع StudentViewModel را دریافت کرده که حاوی اطلاعات مربوط به Student جدیدی می باشد که قصد اضافه کردن آن به دیتابیس را داریم. در درون این Action Method ابتدا اقدام به انجام Validation می‌کنیم. با استفاده از ModelState.IsValid می توانید کنترل کنید که اطلاعات وارد شده حاوی تمامی اطلاعات مورد نیاز باشند. اگر ModelState.IsValid مقدار false را برگرداند می توانید یک response از نوع BadRequest را return کنید. اگر ModelState.IsValid مقدار true برگرداند با استفاده از Entity Framework و کلاس Context این رکورد را به دیتابیس اضافه می کنیم.

حال می‌توانیم با استفاده از ابزار Fiddler اقدام به ارسال یک HTTP Post request به Web API کرده و response برگشت داده شده را مشاهده کنیم. این موضوع در تصویر زیر نشان داده شده است.

همانطور که در تصویر بالا مشاهده می کنید HTTP Post request شامل یک Object از نوع StudentViewModel با فرمت JSON می باشد. این Object در Request Body قرار گرفته است. پس از انجام موفقیت آمیز عملیات یک است response از نوع 200 Ok توسط Web API به کلاینت ارسال می شود.

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

مرتضی گیتی
بدون نظر

ارسال نظر

نظر
نام
ایمیل
وب سایت