Mohammad Jawad Barati
Mohammad Jawad Barati
خواندن ۱ دقیقه·۴ سال پیش

۴ متد مختلف ارسال درخواست http

متد های ارسال درخواست http
متد های ارسال درخواست http

جواب یه سوال کلیدی که شاید ذهن شما رو مثل ذهن من وقتی تازه کار بودم درگیر کرده: آیا لازمه همیشه از این متد ها استفاده بکنم؟

جواب کوتاه: بله

جواب بلند: بله

اما چرا؟ جواب کاملا مشخصه هست. چونکه وقتی از این متدا استفاده می‌کنی کد خیلی خوانا تری داری و اصلا هم به این موضوع که داری RESTful API میزنی یا از template engine ها استفاده می‌کنی ربطی نداره.

خب بریم سر وقت متد ها

  • متد GET: برای دریافت دیتا (فرض کن دیتا از دیتابیس بگیری)
  • متد POST: برای اضافه کردن دیتا (فرض کن یه رکورد میخوای بسازی)
  • متد PUT/PATCH: برای ویرایش یه دیتا (برای آپدیت کردن ایمیل کاربر)
  • متد DELETE: برای حذف یه دیتا (حذف کردن یه پست)

چند تا نکته:

  1. اگه دیتایی توی body ریکوئست میخوای بگیری هیچ وقت از متد GET استفاده نکن. چونکه این متد برای دریافت اطالاعات ساخته شده نه ارسال اطلاعات. مثلا اندپوینتی که برای لاگین تعریف می‌کنی متدش باید POST باشه.
  2. اسم اندپوینت هات رو جمع (plural) بزار.
  3. نباید route این شکلی داشته باشی: create-post
DELETE /delete-posts/1 <- wrong DELETE /posts/1 <- right PUT /posts/1/update <- wrong PUT /posts/1 <- right POST /posts/create-post <- wrong POST /posts <- right GET /posts <- right GET /post/1 <- wrong GET /posts/1 <- right

منظور از safety اینه: درخواستی که با این متد HTTP میاد یه resource رو تغییر میده یا نه، اونایی که تغییر نمیدن GET و HEAD هستن. پس یه موقع فکر نکنی منظورش بحث های امنیتی هست.

منظور از Idempotence اینه که هر چند بار یه درخواست رو با این متد ارسال میکنی خروجی یکی هست. منظورش اثری که روی resource ها میزاره نیست.

اگه دوست داشتی مثال ببینی و یکمی بیشتر مطالعه بکنی می‌تونی اینو ببینی.

نود جی‌اسمتد های httpnode jshttp request method
برنانه نویس، مدرس، محقق. عاشق انیمه هستم و دنبال چالش ها جدید.
شاید از این پست‌ها خوشتان بیاید