ColdFusion GraphQL مقابل REST

يواجه مطورو ColdFusion خياراً فريداً عند بناء واجهات برمجة التطبيقات (APIs). تقارن معظم الأدلة بين GraphQL و REST بشكل عام، لكنها تغفل عن كيفية تعامل ColdFusion معهما بشكل مختلف.

تُعد REST مدمجة (native) في ColdFusion. يمكنك بناء REST APIs بسهولة باستخدام cfcomponent rest="true". ويمكنك استهلاكها باستخدام cfhttp. وهي تعمل على كلا الطرفين دون الحاجة إلى أدوات إضافية.

يعمل GraphQL بشكل مختلف في ColdFusion؛ فهو غير متماثل (asymmetric).

قدم ColdFusion 2023 عميلاً (client) مدمجاً لـ GraphQL. يمكنك استخدام getGraphQLClient() للتواصل مع الخدمات الخارجية مثل GitHub أو Shopify. وهذا يعمل بشكل جيد لاستهلاك البيانات.

ومع ذلك، لا يوفر ColdFusion خدمة GraphQL بشكل مدمج. لا يمكنك حتى الآن توفير بياناتك الخاصة كنقطة نهاية (endpoint) لـ GraphQL بسهولة. وتخطط Adobe لإضافة هذه الميزة لاحقاً.

لبناء خادم GraphQL في ColdFusion اليوم، يجب عليك القيام بالعمل بنفسك. ستحتاج إلى:

  • Resolver CFCs
  • مكتبة Java مثل graphql-java
  • أو تنفيذ CFML من طرف ثالث

ملاحظة: يتطلب عميل GraphQL المدمج إصدار Adobe ColdFusion 2023 أو أحدث. وهو لا يعمل على Lucee.

يعتمد قرارك على هدفك.

  • استخدم REST إذا كنت تريد بناء واجهات برمجة تطبيقات (APIs) وتوفيرها بسرعة.
  • استخدم GraphQL إذا كنت بحاجة إلى جلب البيانات من خدمات خارجية.

اختر الأداة التي تتناسب مع حدود منصتك الحالية.

المصدر: https://dev.to/deepak_sir__/coldfusion-graphql-vs-rest-when-each-api-style-fits-your-architecture-2bjc

مجتمع تعليمي اختياري: https://t.me/GyaanSetuAi