وباکا

آموزش تخصصی برنامه نویسی وب

در این نوشته می خواهیم مرور کلی بر تکنولوژی RESTful API داشته باشیم. این آموزش برای توسعه دهندگانی است که می خواهند مفهوم REST API را به طور کامل درک کنند.

REST فقط یک سری از دستور العمل ها و سبک های معماری است که برای انتقال داده ها استفاده می شوند. این عموما در مورد اپلیکیشن های تحت وب کاربرد دارد ولی می تواند داده ها را به سایر برنامه ها نیز ارسال کند.

قبلا نوشته با عنوان REST چیست داشتیم که به توضیح کامل REST پرداخت.

کلمه API نیز مخفف Application Programming Interface می باشد که به روش های اتصال به سایر کتابخانه ها و برنامه ها اطلاق می شود. ویندوز API های مختلفی دارد ، تویتتر نیز یک API وب دارد که البته کارهای مختلفی را با هدف های متفاوت از هم انجام می دهند.

بحث کامل در مورد API ها را در همین سایت بخوانید.

اگر بخواهم جمع بندی کنیم ، REST API ها در واقع API هایی هستند که از معماری REST تبعیت می کنند.

بعبارت جامع تر، سرویس های وب RESTful (که RESTful web API  نیز نامیده می شوند)، سرویس هایی هستند که با استفاده از HTTP و با رعایت اصول REST پیاده سازی می شوند و مجموعه ای از منابع، با چهار ویژگی تعریف شده، هستند:

  • URL پایه برای سرویس های وب، مانند http://example.com/resources
  • نوع رسانه های اینترنتی از داده های پشتیبانی شده توسط سرویس وب، که اغلب JSON، XML یا YAML است اما می تواند هر نوع رسانه معتبر اینترنتی که استاندارد hypertext است، باشد.
  • API باید مبتنی بر hypertext باشد.

REST API

نکاتی مهم برای RESTful API ها

RESTful API از پروتکل HTTP برای ارتباطات استفاده می کند و در کل از چهار دستور برای دسترسی به RESTful API  استفاده می شود :

  1. GETبرای گرفتن یک شی
  2. POSTبرای ایجاد یک شی
  3. PUTبرای ویرایش یا بازنویسی یک شی
  4. DELETEبرای حذف یک شی

با هر بار فراخوانی API ،یکی از این متد ها باید به سرور فرستاده شود تا سرور بداند چطور باید رفتار کند.

اکثریت قریب به اتفاق وب API ها فقط درخواست های GET را اجازه می دهند تا بتوان داده ها را از سرور دریافت کرد. احراز هویت کاربر اختیاری است ولی شدیدا ایده خوبی است وقتی که پای متد های حساس و دارای قابلیت خرابکاری مثل PUT و DELETE درمیان باشد.

فرمت های مورد استفاده در RESTful API

  • REST
  • XML-RPC
  • SOAP
  • JSON
  • PHP

با این حال بسیاری از RESTful API ها تا این حد پیش نمی روند . Pokéapi را در نظر بگیرید که یک API رایگان برای بازی Pokémon است. این API برای عموم باز است ولی با یک نرخ محدودیت معقول و مناسب (محدودیت کاربران برای تعداد معینی از ارسال درخواست به API در یک بازه زمانی مشخص) . به علاوه این API فقط متدGET را پشتیبانی می کند.شاید این را بتوان اصطلاحا یک API مصرفی نامید.

 

نوع داده بازگشتی نیز مهم است و باید با همه منابع دیگر همگن و هماهنگ باشد.JSON یکی از انواع داده بازگشتی است که بسیار نیز محبوب است و جزئیات  ساختار داده در آن نیز در مراجع آنلاین به خوبی توضیح داده است.

RESTful API ها از “اسم” برای نامگذاری اشیا و از “صفت” برای نامگذاری کارهایی که قرار است روی اشیا انجام شوداستفاده می کند. اعتبارسنجی می تواند بخشی از این باشد همچنین نرخ محدودیت.ولی یک API کوچک و ساده لازم نیست نگران ایجاد محدودیت برای کاربران باشد.

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

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

فهرست مطالب