دورة مكثفة 101
10 وحدات
5 أسابيع

طلب API خارجي

انقر للنسخ

إرسال طلب API خارجي باستخدام Appmaster.io عمليًا


ليس الكثير من النظرية؟

دعونا نضع هذا موضع التنفيذ. لنفتح AppMaster ، وننشئ طلب API باستخدامه ، ونفهم بشكل أفضل كيفية عمل هذا الطلب.

إنشاء طلب خارجي لواجهة برمجة التطبيقات

External API Request

يتم إنشاء طلبات واجهة برمجة التطبيقات في قسم "منطق العمل" ، في علامة التبويب "طلبات واجهة برمجة التطبيقات الخارجية".

حان الوقت للنقر على "+ طلب واجهة برمجة تطبيقات جديد"

New API Request

يمكن تعيين الاسم والوصف على أي شيء ، وهما لاستخدامنا الشخصي فقط.

دعونا نتعامل مع البيانات المهمة حقًا.

الحد الأدنى المطلوب لإنشاء طلب هو تحديد أسلوبه وعنوانه (URL). لنبدأ بالآخر.

URL and Method

URL

URL - محدد موقع المعلومات. عنوان معين لمورد معين على الإنترنت. النسخة الأكثر شيوعًا من هذا المورد هي صفحة HTML - ندخل عنوان URL الخاص بها في شريط عنوان المتصفح ونفتح الموقع المطلوب. في الوقت نفسه ، يمكن أن يكون المورد نفسه أي شيء ، صورة ، مقطع فيديو ، مجموعة بيانات. الشيء الرئيسي هو أن هذا المورد يحتوي على مؤشر محدد - عنوان URL يمكنك إرسال طلب إليه للحصول على هذا المورد.

طُرق

بالإشارة إلى البيانات الموجودة في عنوانها ، نشير أيضًا إلى الطريقة (يمكنك أيضًا تحديد نوع) الطلب ، أي أننا نشير إلى ما يجب فعله بالفعل بهذه البيانات.

عندما أرسلنا طلبات لمهمة الوحدة الأولى ، تلقينا البيانات. هذه هي طريقة GET. هذه الطريقة هي الطريقة الأكثر وضوحًا وهي أيضًا الطريقة الوحيدة المطلوبة. لذلك ، حتى لو لم نحددها صراحةً ، فلا يزال من المفترض افتراضيًا أن هذا هو GET.

دعونا نرى ما هي الطرق الأخرى الموجودة.

Request methods

لا يحد معيار HTTP نفسه من عدد الطرق التي يمكن استخدامها. في الوقت نفسه ، لا يزال يتم استخدام بعض الأساليب القياسية فقط للحفاظ على التوافق. هناك 5 طرق مختلفة يمكن استخدامها في طلبات AppMaster API.

احصل عليه . لقد تم التعامل معها بالفعل. تطلب الطريقة توفير مورد ، وتتلقى البيانات.

نشر . لأخذ البيانات من مكان ما ، عليك أولاً وضع هذه البيانات هناك. طريقة POST تفعل ذلك بالضبط. يرسل البيانات إلى الخادم ، وإنشاء مورد.

ضع . تشبه طريقة POST ، لكن وظيفتها هي تحديث البيانات. لا يُنشئ بيانات جديدة ، لكنه يستبدل البيانات الموجودة ويحدّثها.

حذف . كما يوحي الاسم ، فإنه يحذف البيانات.

رقعة . تشبه هذه الطريقة طريقة PUT ، ولكنها تُستخدم لتحديث البيانات جزئيًا ، بدلاً من استبدالها بالكامل. على سبيل المثال ، باستخدام طريقة التصحيح ، يمكنك تغيير عنوان المقالة أو تغيير قيمة بعض المعلمات.

من المهم مراعاة حقيقة أن الخادم غير مطالب بالقيام بالضبط بما هو محدد في الطريقة على الإطلاق. يمكننا إرسال عنوان بعض الصفحات بطريقة DELETE ، لكن هذا لا يعني أن الخادم سيحذفها بالفعل. ولكن ، من الناحية النظرية البحتة ، يمكنه القيام بذلك باستخدام أمر GET. أو لا تقم بتغيير أي شيء ، ولكن في نفس الوقت أرسل البيانات ردًا على POST. فقط لأن المطور قام بتكوينه بهذه الطريقة.

هذا هو المكان الذي يلعب فيه REST ، والذي يقول أن الوقت قد حان للاتفاق على مراعاة النظام ، ووقف الفوضى والقيام بالضبط بما هو موضح في الطريقة. على الأقل ، يجب أن تكون هذه هي المهمة الرئيسية (على الرغم من أنها ليست المهمة الوحيدة بالضرورة). على سبيل المثال ، عند نقل محتوى مقال باستخدام طريقة GET ، يمكنك في نفس الوقت زيادة عداد عدد مشاهداته بمقدار 1.

لذلك ، اكتشفنا مكان البيانات وما الذي يمكن عمله بها. دعنا نذهب إلى أبعد من ذلك ، دعنا نرى المكونات الأخرى التي يمكن أن يحتوي عليها الطلب.

URL Params

Request components

URL Params . هناك حالات لا نعرف فيها سوى جزء من عنوان URL. مثال على ذلك هو المقالات الموجودة على موقع Appmaster.io. عنوان البداية لجميع المقالات هو نفسه - https://appmaster.io/blog/ . ولكن بعد ذلك يكون لكل مقال عنوانه الخاص ، وبالتالي ، جزءه الفردي الخاص به للإشارة الدقيقة لهذه المقالة المعينة.

في مثل هذه الحالة ، يتم استخدام URL Params. نصف الجزء العام على الفور ، ونترك الباقي ليتم تحديده في العملية. نتيجة لذلك ، تتم كتابة عنوان URL بالشكل https://appmaster.io/blog/:id/

يُكتب الجزء المعروف كما هو ويوضع الجزء المتغير بعد علامة ":". تمت إضافة اسم جزء المتغير هذا (بدون ":") إلى قائمة المعلمات. في هذه الحالة ، يمكن أن يكون هناك عدة أجزاء متغيرة ، وموقعها في أي مكان في عنوان URL.

Query params

معلمات الاستعلام

معلمات الاستعلام . تذكر عندما أرسلنا طلبًا إلى boredapi.com في الوحدة الأولى؟ بالإضافة إلى العنوان ، تم تحديد بيانات إضافية. كان هذا هو Query Params.

تتم كتابتها بعد عنوان URL ويتم فصلها عنه بعلامة "؟" إشارة. يشار إلى اسم المعلمة وعلامة "=" وقيمة المعلمة نفسها. إذا تم استخدام العديد من المعلمات في وقت واحد ، فسيتم فصلها بعلامة "&".

ومع ذلك ، عند تحديد المعلمات في AppMaster ، لا يتعين عليك التفكير في قواعد الطلب. سيتم تنسيق كل شيء بشكل صحيح تلقائيًا. تحتاج فقط إلى تحديد اسم المعلمة نفسها وإضافتها إلى القائمة.

يتم استخدام معلمات الاستعلام عندما يكون مصدر البيانات هو نفسه ، ولكن قد تكون البيانات نفسها مختلفة. على سبيل المثال ، احتوى Boredapi على قائمة ضخمة من الأشياء التي يجب القيام بها. لكننا كنا مهتمين فقط بتلك المخصصة لشخص واحد وهذا ما حددناه في معلمات الطلب.

حالة استخدام أخرى هي الحد من كمية البيانات. على سبيل المثال ، يمكننا الوصول إلى بعض القوائم ، لكننا نطلب فقط أول 5 إدخالات منها. يمكن أن تكون هذه الكمية أيضًا معلمة استعلام.

خيار آخر هو مفتاح الوصول. ربما تكون قد استخدمت هذا الخيار في الوحدة 1 عند الإشارة إلى Alphavantage. لا يمكن الحصول على البيانات إلا بعد التسجيل وإرسال مفتاح شخصي في معلمات الطلب.

انتبه إلى الصفحات التي تزورها على الإنترنت ، ستجد على الأرجح معلمات مختلفة فيها أيضًا. على سبيل المثال ، افتح صفحة الطقس في Ventusky.com ، في معلمات الاستعلام يتم إرسال القيم الجغرافية لخطوط الطول والعرض.

الرؤوس

الرؤوس . طلب الرؤوس. عادةً ما تحتوي الرؤوس على معلومات خدمة حول الطلب (معلومات وصفية). تسمح الرؤوس للخادم بالحصول على مزيد من المعلومات حول العميل الذي يطلب البيانات. يمكن أن تحتوي الرؤوس على معلومات حول المتصفح الذي يتم استخدامه ، وما هو ترميز الاستجابة المتوقع أن يكون ، وبأي لغة ، والوقت المحدد للطلب ، والمزيد. في حالة الوصول إلى البيانات المحمية ، قد تحتوي الرؤوس على مفتاح ترخيص.

في معظم الحالات ، تكون الرؤوس اختيارية. حتى في الوحدة الأولى ، قدمنا ​​بالفعل طلبًا لم نحدد فيه أي رؤوس (على الرغم من أن هذا لا يعني أن الطلب قد تم إرساله بالفعل بدونها).

الجسم

الجسم . طلب الهيئة. عادةً ما يتم الاستغناء عن طلبات GET ، ولكن إذا أردنا إرسال بعض البيانات إلى الخادم ، أو إرسال طلب POST أو PUT ، فسيتم وضع هذه البيانات في نص الطلب. في الوقت نفسه ، يمكنك وضع بيانات من أي تعقيد في نص الطلب ، على سبيل المثال ، إرسال ملف فيديو ، ولا تقتصر على بعض الأرقام أو سلسلة نصية.

Was this article helpful?
لا تزال تبحث عن إجابة؟