REST API چیست ؟ حتما اسم REST API به گوشتان خورده است. در این مقاله قصد داریم به صورتی بسیار ساده شما را با Rest API آشنا بکنیم ومقداری از تجربیات کار با REST را با شما به اشتراک بگذاریم
هنگامی که شما در حال تلاش برای یافتن فیلم های مورد نظرتان در Youtube هستید و در قسمت جستجو نام آن را تایپ می کنید ،لیستی از فیلم های مرتبط با مورد نظرتان را مشاهده می کنید. REST API به روشی مشابه کار می کند. شما چیزی را جستجو می کنید ، و لیستی از نتایج را از خدمتی که درخواست می کنید دریافت می کنید
REST API چیست؟
API یک رابط برنامه نویسی و مجموعه ای از قوانین است که به برنامه ها اجازه می دهد تا با یکدیگر ارتباط برقرار کنند به طوری که توسعه دهنده API را روی سرور ایجاد می کند و به مشتری اجازه می دهد تا با آن ارتباط برقرار کند.REST چگونگی ظاهر API را تعیین می کند و مجموعه ای از قوانینی است که توسعه دهندگان هنگام ایجاد API خود از آنها پیروی می کنند و یکی از این قوانین بیان می کند که هنگام پیوند به یک URL خاص می توانید یک قطعه داده (به نام یک منبع) بدست آورید.
یکی از محبوب ترین انواع REST API یا API ها، RESTful هستند. API RESTful یک رابط برنامه کاربرد(API) است که از درخواست HTTP برای داده های GET ، PUT ، POST و DELETE استفاده می کند.در حالی که API REST مجموعه ای از توابع را تعریف می کند که توسعه دهندگان می توانند درخواست ها را انجام دهند و از طریق پروتکل HTTP مانند GET و POST پاسخ دریافت کنند.
یکی از مهمترین مزیت های API های REST این است که انعطاف پذیری زیادی را ارائه می دهند. داده ها به منابع یا روشها گره خورده وابسته نیست ، بنابراین REST می تواند چندین تماس را کنترل کند ، قالب های مختلف داده را برگرداند و حتی با اجرای صحیح hypermedia تغییر ساختاری دهد. این انعطاف پذیری به توسعه دهندگان اجازه می دهد تا یک API بسازند که پاسخگوی نیازهای شما باشد و در عین حال پاسخگوی نیازهای مشتریان بسیار متنوع نیز باشد و برخلاف SOAP ، REST محدود به XML نیست ، بلکه می تواند بسته به درخواست مشتری XML ، JSON ، YAML یا هر قالب دیگر را برگرداند. و بر خلاف RPC ، کاربران لازم نیستند اسم رویه یا پارامترهای خاص را با یک ترتیب خاص بدانند.
ویژگی های API REST :
1. بی تابعیت است:
یکی از ویژگی های اصلی یک API REST این است که سرویس آن بی تابعیت است ، به این معنی که هر بار که به آن مراجعه می کنیم ، لازم است اطلاعات خود را به آن یادآوری کنیم ، اعم از اعتبار کاربر ما یا هر اطلاعات دیگری است. آنچه از سویی ممکن است یک ضرر به نظر برسد – دلالت بر کار خسته کننده تکرار داده ها – در واقع یکی از نقاط قوت آن است: از آنجا که آنها را به خاطر نمی آورد ، امکان مقیاس پذیری بیشتری را فراهم می کند. دیگر نیازی به چنین سرورهای قدرتمندی وجود ندارد ، که قادر به ذخیره تمام حالتهای مشتری آنها باشد.این عامل به ویژه برای هر API بانکی مانند نمونه های BBVA مرتبط است. اگر Fintech با هدف جذب همه مشتریان موسسات بانکی و جذب برنامه نویسان به معرفی برنامه های مالی در ابزارهای خود ، مقیاس پذیری برنامه API آنها مهم است.
2. این نرم افزار از JSON و XML پشتیبانی می کند:
یکی دیگر از مزیت های REST API این است که انتظارات کسانی را که از زبان JSON استفاده می کنند به همان اندازه که آنهایی را که به XML اعتماد دارند را برآورده می کند.غول هایی مانند مایکروسافت ، گوگل یا وردپرس از این نوع معماری نرم افزار در بسیاری از ابزارهای خود استفاده میکنند ، و از نادیده گرفتن آنها برای توسعه دهنده جلوگیری می کندو همه آنها در دنیای REST API جایگاهی دارند.
3. مستندات (Documentation):
هر تغییر در معماری REST API باید در مستندات آن منعکس شود تا هر توسعه دهنده ای که از آن استفاده می کند بداند چه انتظاری را دارد. این در حال حاضر یکی دیگر از مزایا است .با این وجود ، مستندات به سازندگان API نیاز دارند تا اطلاعات آن ها را به طور کامل به روز کنند ، که بعضی اوقات می تواند دست و پا گیر باشد. خوشبختانه ابزاری مانند Swagger برای هماهنگ سازی چنین به روزرسانی هایی وجود دارد به طوری که در هنگام تغییر هر جزئیات API ، به صورت خودکار به روز رسانی اتفاق می افتد.
4. پیغام خطا
ایجاد خطا هنگام کار با API ، هر توسعه دهنده از دانستن اینکه چه خطایی بوده است قدردانی خواهد کرد. از این رو ، امکان ارائه شده توسط معماری REST از جمله پیام های خطا ارائه برخی از سرنخ ها در این رابطه نیز مهم است. با بازگشت به مایکروسافت ، خدمات ارائه شده توسط شرکتی که بیل گیتس از طریق Azure تأسیس کرده است – ابزار آن برای ابر – لیست کاملی از پیام های خطای احتمالی را دارد که مطمئناً باید در بیش از یک مورد مفید بوده است.
عزیزانی که پس از مطالعه کامل این مقاله علاقه مند به یادگیری کد های مربوط به rest api وسرور هستند میتوانند مارا در مقاله های بعدی همراهی کنند و یا در کلاس های دوره آموزش طراحی سایت در اصفهان به صورت حضوری شرکت کنند.