Arash Abbasi
Arash Abbasi
خواندن ۱ دقیقه·۳ سال پیش

تفاوت REST و GraphQL

اول از همه بهتره که یک تعریفی از هردو داشته باشیم!

تکنولوژی REST (Representational State Transfer) و GraphQL هردو از API دیزاین هایی هستند که وظیفه انتقال دیتا در بستر پروتکل های اینترنت از جمله HTTP را دارند.

  1. تکنولوژی REST یک الگوی معماری و GraphQL یک query language می باشد.
  2. تکنولوژی REST می تواند چندین End points داشته باشد در صورتیکه GraphQL تنها یک End point می تواند داشته باشد.

3. هردو دیتا را بصورت JSON انتقال می دهند.

4. هردو قابلیت عدم تابعیت دارند:
عدم تابعیت بدین معناست که هر درخواست HTTP در یک بسته کاملا مستقل اتفاق می افتد. زمانی که کاربر یک درخواست HTTP ارسال می کند ، این درخواست فقط شامل اطلاعات ضروری برای سرور جهت انجام آن درخواست می باشد . سرور به هیچ عنوان به اطلاعات درخواست های قبلی توجهی نمی کند.


5.تکنولوژی REST APIs بسیار منعطف تر است درصورتیکه GraphQL فقط با POST کار میکند !

6. در تکنولوژی GraphQL این قابلیت وجود دارد که دیتایی که از سرور دریافت می کنیم را با جزئیات بیشتری درخواست کنیم ، اما در REST این گونه نیست و تمام دیتا واکشی می شود.

7.در REST به دلیل تمایل به واکشی تمام داده ها ، مقدار زیادی داده به همراه می آورد که شاید برای کاربر غیر ضروری باشد!


درکل هر کدام ازین تکنولوژی ها مزایا و معایب خاص خود را دارند.

درصورتی که تازه شروع به یادگیری API کرده اید توصیه می شود که با REST API شروع کنید.

و اگر درحال توسعه پروژه سنگین با داده هایی حجیم هستید احتمالا GraphQL گزینه بهتری برای شماست.


پایان!




restapigraphqlapi
توسعه دهنده نرم افزار ، مشتاق و آماده یادگیری مطالب جدید در حوزه های مرتبط
شاید از این پست‌ها خوشتان بیاید