ترجمة بالذكاء الاصطناعي. لم يراجعها المجتمع بعد. اقرأ بالإنجليزية

المدوّنة · 18 سبتمبر 2023 · Steve Simpson · التكامل

خدمة ويب Apex: لبنات البناء لسَحَرة الويب

مقدمة:

في هذه المقالة سأتعمق في بناء خدمات ويب Apex مخصصة في Salesforce. هذه الخدمات ضرورية عندما تحتاج إلى عملية خارجية تتعامل مع Salesforce لاسترجاع البيانات أو كتابتها، ولا تفي REST API القياسية بالغرض. سنمرّ على خمسة أمثلة تتدرج في التعقيد، من الاستعلامات القياسية إلى التحديثات.

مخطط: خمسة أمثلة لخدمات ويب Apex مخصصة تُستدعى من Postman: GET يعيد قائمة سجلات، وGET مع كائن استجابة، وGET مع معامل، وPOST، وPOST مع خطأ

نظرة عامة على خدمات الويب المخصصة

سنستكشف خمسة أمثلة لخدمات ويب مخصصة:

GET باستخدام قائمة SObject قياسية: استرجاع البيانات باستخدام قائمة SObject قياسية.

غلاف مع استجابة JSON: تحسين طلب GET بتغليفه باستجابة JSON.

إضافة المعاملات: إدخال معاملات في طلب GET لاسترجاع بيانات أكثر تحديدًا.

استخدام POST للإدراج: تنفيذ طلب POST لإدراج البيانات.

إعادة رسالة الخطأ: معالجة رسائل الخطأ وإعادتها بالشكل المناسب.

تنفيذ خدمات الويب المخصصة

المثال 1: GET باستخدام قائمة SObject قياسية

في هذا المثال نعرّف مورد REST بعنوان URI مخصص، ونحدد فعل HTTP ‏(GET). يجب أن يُعلَن عن الصنف (class) بأنه global، ونعيد قائمة من الحسابات القياسية باستعلام بسيط.

شيفرة Apex: مورد REST بطريقة GET تستعلم عن الحسابات (Accounts) وتعيد القائمة بالتسلسل الافتراضي

المثال 2: غلاف مع استجابة JSON

لكي نتحكم في البيانات التي تُعاد إلى العميل، نستخدم كائن استجابة. فبدلًا من إعادة قائمة من SObjects، نعيد قائمة من كائنات استجابة مخصصة، تقدم تمثيلًا خفيفًا للعميل يقتصر على المعرّف (ID) والاسم.

شيفرة Apex: طريقة GET تبني كائن استجابة يحتوي على قائمة من العملاء

المثال 3: إضافة المعاملات

المعاملات ضرورية عندما تحتاج إلى بيانات عميل بعينه. فبقراءة RestContext.params يمكنك استرجاع معرّف العميل واستخدامه في عبارة WHERE في SOQL لتصفية البيانات.

شيفرة Apex: طريقة GET تقرأ المعامل customerid من الطلب وتعيد ذلك العميل في كائن استجابة

المثال 4: استخدام POST للإدراج

عندما تحتاج إلى كتابة البيانات، تُستخدم طريقة POST. في هذا المثال ننشئ كائن استجابة وكائن طلب. يستقبل كائن الطلب عميلًا له اسم، ونستخدم JSON serializer لتحويل الطلب إلى صنف محدد. وبعد إنشاء حساب جديد وإدراجه، تُعاد حالة نجاح.

شيفرة Apex: طريقة POST تحلّل جسم الطلب، وتُدرج حسابًا (Account)، وتعيد حالة نجاح أو خطأ

المثال 5: إعادة رسالة الخطأ

هذا المثال شبيه بالمثال 4، لكنه يتضمن معالجة الأخطاء. فعند حدوث استثناء، يُلتقط الخطأ ويُضاف إلى قائمة، وتُضبط رمز الحالة على 500 (أو أي رقم تفضله).

شيفرة Apex: طريقة POST مع معالجة الأخطاء، تعيد رسالة الخطأ ورمز حالة HTTP 500

الخلاصة

من خلال هذه الأمثلة عرضنا لبنات البناء الأساسية لإنشاء خدمات ويب Apex مخصصة في Salesforce. بدأنا بطلب GET بسيط، ثم زدنا التعقيد تدريجيًا بإدخال المعاملات وطلبات POST ومعالجة الأخطاء.

تابعنا

شكرًا لك على القراءة، وأتطلع إلى مشاركة مزيد من المغامرات المليئة بالمعرفة معك قريبًا! تابعنا هنا على www.SteveTechArc.com وعلى قناة @SteveTechArc (opens in a new tab) على YouTube. اشترك وعمّق فهمك لـ Salesforce وكيف يمكنك دمجها مع أنظمة أخرى.

نساعد في تغيير العالم بمشاركة معلومات التكامل مع زملائنا المعماريين ومع من هم في رحلتهم نحو أن يصبحوا معماريين!

نص مكتوب بمساعدة الذكاء الاصطناعي

STA 1.8