no-img
آرتیکلر

تفاوت بین متدهای HTTP شامل GET, POST, PUT, PATCH, DELETE - آرتیکلر


آرتیکلر
کلاس ریاضی در رشت و بندرانزلی

ادامه مطلب

تفاوت بین متدهای HTTP شامل GET, POST, PUT, PATCH, DELETE


CRUD-HTTP

متدهای HTTP به عنوان یک رابط واحد برای دسترسی و ارسال اطلاعات به منابع مورد استفاده قرار می‌گیرند.

معمول‌ترین متدهای موجود در پروتکل‌های HTTP عبارتند از:‌ POST, GET, PUT, PATCH و DELETE.

این متدها به ترتیب برای ساختن (Create)، خواندن (Read)، بروزرسانی (Update) و حذف کردن (Delete) مورد استفاده قرار می‌گیرند.

به مجموعه‌ی عملیات‌های ساختن، خواندن، بروزرسانی و حذف کردن، عملیات CRUD گفته می‌شود که C مخفف Create، حرف R مخفف Read، حرف U مخفف Update و در نهایت حرف D مخفف Delete می باشد.

علاوه بر متدهای فوق، دو متد OPTION و HEAD وجود دارند که از آنها استفاده‌ی چندانی در سطح وب نمی‌شود. جهت دستیابی به یک دید کلی در جدول زیر مقادیری که هر یک از متدهای HTTP باز می‌گردانند نمایش داده شده است:

متدهای HTTP          CRUD                مثال
==============       =============       =================================
POST                 Create              Link to /customers/{id} شامل ID جدید
GET                  Read                نمایش لیستی از مشتریان، صفحه بندی 
PUT                  Update/Replace      جایگزین کردن هر اسمی درون لیست مشتریان
PATCH                Update/Modify       ویرایش کردن یک نام از لیست تمام مشتریان
DELETE               Delete              حذف کردن نام یک مشتری و یا مشتریان
Create - Read - Update -Delete

Create – Read – Update -Delete

متد POST

متد POST برای ساختن یک منبع جدید در مجموعه مورد استفاده قرار می‌گیرد. به بیان ساده‌تر ایجاد یک رکورد جدید توسط این متد انجام می‌شود. در مثال زیر از متد پست برای اضافه کردن یک کاربر جدید به مجموعه‌ی استفاده کرده‌ایم. متد پست بدین صورت است که اگر یک درخواست در چندین زمان متفاوت ارسال شود، چندین رکورد متفاوت ساخته خواهد شد.

مثال:

Path : /users
Method: POST
Body :
{  
   "username":"masoud",
   "email":"masoud@roxo.ir"
}
===============================
Example:
POST http://www.roxo.ir/users
POST http://www.example.com/users/username

این مثال یک کاربر جدید با نام کاربری masoud‌ و ایمیل masoud@roxo.ir با id = ۱ را ایجاد می‌کند.

متد GET

این متد برای خواندن اطلاعات یک منبع ( نه تغییر آنها) متد GET بکار گرفته می‌شود. گاهی این متد برای بازگردانی اطلاعاتی به فرمت XML یا JSON نیز کاربرد دارد. بنابراین هنگامیکه از این متد استفاده می‌شود، داده‌ها کاملا امن هستند و این امر ریسک استفاده از این متد را فقط و فقط برای خواندن اطلاعات بسیار پایین میاورد. همچنین بدیهی‌ست که اگر یک درخواست مشابه در چندین زمان متفاوت به متد GET‌ ارسال شود، پاسخی مشابه دریافت خواهیم کرد.

مثال:

Path : /user/1
Method: GET
Body :
{  
   "id":1,
   "username":"masoud",
   "email":"masoud@roxo.ir"
}
===============================
Example:
GET http://www.example.com/users/masoud
GET http://www.example.com/users/1
GET http://www.example.com/users/list

متد PUT

متد PUT برای بروزرسانی (آپدیت) یک رکورد موجود و یا ساخت یک رکورد جدید (در صورت عدم وجود) کاربرد دارد. این متد مقدار جدید رکورد را در هر درخواست جایگزین می‌کند. یعنی به طور مشابه متد PUT ابتدا یک رکورد را پاک می‌کند و سپس یک رکورد جدید را ایجاد و در مکان رکورد قبلی با مقادیر جدید جایگزین می‌کند. بنابراین اگر چندین فیلد در یک درخواست PUT مقداری نداشته باشند، بدیهی‌ست که پس از آپدیت شدن مقدار null را در خود جایگزین می‌کنند. مثلا اگر یک کاربر دارای فیلدهای نام کاربری و ایمیل باشد و سپس متد PUT درخواستی را ارسال کند که تنها شامل فیلد نام کاربری باشد، فقط این فیلد تغییر می‌کند و فیلد ایمیل مقداری برابر null را دریافت خواهد کرد.

مثال زیر را در حالتی ارائه می‌دهیم که تمام فیلد‌ها وجود دارند:

به این مطلب امتیاز دهید!
[تعداد رای: 2 میانگین رای: 3]


موضوعات :

مطالب مرتبط


دیدگاه ها


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

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