از نقطه نظر خدماتی RESTful، برای اینکه یک عملیات (یا تماس خدماتی) ناتوان باشد، مشتریان می توانند همان تماس را به طور مکرر برقرار کنند در حالی که همان نتیجه را ایجاد می کنند به عبارت دیگر، چندین درخواست یکسان تأثیری مشابه با ایجاد یک درخواست دارد. … روشهای PUT و DELETE بهعنوان بیتوان تعریف شدهاند.
Idempotency در API چیست؟
APIs Idempotent
در زمینه APIهای REST، زمانی که درخواستهای چندگانه یکسان، تأثیری مشابه ایجاد یک درخواست واحد دارد – پس آن API REST، idempotent نامیده میشود. … بیتوانی اساساً به معنای این است که نتیجه یک درخواست با موفقیت انجام شده مستقل از تعداد دفعات اجرای آن باشد
چرا ناتوانی در استراحت مهم است؟
Idempotency در APIهای مهم است، زیرا ممکن است یک منبع چندین بار در صورت قطع شدن شبکه فراخوانی شود. در این سناریو، عملیاتهای غیرمقتدر میتوانند با ایجاد منابع اضافی یا تغییر غیرمنتظره آنها، عوارض جانبی ناخواسته قابل توجهی ایجاد کنند.
کلید عدم توانایی چیست؟
کلید idempotency یک مقدار منحصر به فرد تولید شده توسط مشتری است که سرور منبع برای تشخیص تکرارهای بعدی همان درخواست استفاده می کند.
بررسی عدم توانایی چیست؟
روش HTTP بیقدرت است اگر بتوان یک درخواست یکسان را یک یا چند بار پشت سر هم با اثر یکسان انجام داد، در حالی که سرور را در همان حالت باقی میگذارد. به عبارت دیگر، یک روش غیر توانمند نباید هیچ گونه عوارض جانبی داشته باشد (به جز حفظ آمار).