درنیامدی بر RESTful API

ماه شب تارم تویی رست-فولی
ماه شب تارم تویی رست-فولی


واژه ی API، مخفف Application Programming Interface و به معنای رابط کاربری برنامه نویسی است. api را می توان متشکل از ۲ بخش دانست:

Application

به هر برنامه ایی که بتواند کار(یا کارهایی) را به طور مستقل انجام دهد application میگویند. یک application می تواند فقط یک بخش خاص از برنامه یا کل سرور(بعنوان مثال) باشد.

Programming Interface

به ابزارهایی که توسط آن ها بتوان با application تعامل کرد، رابط برنامه نویسی می گویند. رابط های برنامه-نویسی به روش های مختلفی پیاده سازی می شوند که یکی از شاخص ترین آن ها، rest است. rest، سبکی از معماری نرم افزار است که برای پیاده سازی سیستم های مبتنی بر server-client استفاده می شود. اولین بار آقای Roy Fielding در رسانه ی پایان نامه ی دکترای خود rest را به جهانیان معرفی کرد(سال ۲۰۰۰).

این معماری بر سه مفهوم بسیار مهم استوار است:

Resource

به هر موجودیتی که بتوان آنرا ذخیره و بازیابی نمود resource می گویند. بعنوان نمونه در الوپیک، سفیر، مشتری، سفارش، مبدا، مقصد و ... همگی نمونه ایی از resource هستند. هر resource یا منبع، uri مشخص خود را دارد.

HTTP Verbs

معمولا در rest، برای دسترسی، ذخیره و بازیابی منابع از http و متدهای آن نظیر post، put، get، patch، delete و ... استفاده می شود.

Resource

استفاده از http verbs برای دستیابی به منبعی به اسم movie از طریق uri های آن ها
استفاده از http verbs برای دستیابی به منبعی به اسم movie از طریق uri های آن ها


بر خلاف پروتکل soap که کاربران را مجاب به استفاده از xml(در ارسال و دریافت اطلاعات) می کند، rest می-تواند انواع گوناگونی از پاسخ ها مانند xml، html، json را برگرداند. امروزه به دلیل خوانایی و سرعت بیشتر تحلیل json غالبا از این فرمت استفاده می شود.

به وب سرویسی که کاملا بر اساس rest پیاده سازی شده باشد، RESTful API گفته می شود.