ما هي واجهة برمجة تطبيقات JSON؟
بالتأكيد يعرف الكثير.
JSON - تنسيق نصي لتبادل بيانات
JSONAPI -
واجهة برمجة تطبيقات
APIالكلمات الرئيسية هنا: واجهة تبادل البيانات.
أ ، ما هو JSON-RPC؟
JSON - نحن على علم بذلك بالفعل.
RPC - استدعاء الإجراء البعيد
RPCنستنتج أن JSON-RPC هو: تبادل البيانات عن بعد.
بالتأكيد سيحدث تبادل البيانات هذا مع واجهة معينة ، أي مع API.
وما هي المشكلة ؟! تسأل. والحقيقة هي أن بعض المبرمجين الذين يطورون واجهة برمجة تطبيقات JSON ، أي الواجهة ، ينسون JSON-RPC. ويبدأ الاختراع التالي للدراجة. يقول مبرمج Frontend: "سأعطيك هذا json" ، ومبرمج Backend يرد: "سأعيد لك مثل هذا json". وكل شيء سيكون على ما يرام ، ولكن سيكون من الجيد أن نتذكر أن الأشخاص الأذكياء طوروا معايير طويلة ، أو بالأحرى بروتوكولات تبادل البيانات. وليس بعض العناصر المعقدة للغاية ، ولكنها بسيطة جدًا:
JSON-RPCعلى الأرجح ، إن لم يكن أن نقول أن الجميع تقريبًا يعرفون هذه البروتوكولات ويستخدمونها. مجموعة من الخوادم مكتوبة ، إلخ. لكن شخصياً ، ليس كل شيء يناسبني في البروتوكولات القائمة. بدت لي غير مرنة بما فيه الكفاية وغير منطقية في كل شيء. كما كنت قد خمنت ، قررت أن
أخترع دراجتي
json-rpc-1.5الاختلافات الرئيسية من البروتوكولات القائمة هي:
- معلمة "تسجيل" اختيارية - التوقيع أو الرمز المميز
- في الاستعلامات ، بدلاً من المعلمة المعلمة ، يتم استخدام معلمة البيانات ، لأن نرسل البيانات دائمًا ، وليس المعلمات فقط.
- في جميع الإجابات ، يتم إرجاع المعلمة "النتيجة" دائمًا وتحتوي على وصف لنتائج طلب البحث "النجاح" أو "الخطأ".
- تأتي جميع البيانات في الردود في معلمة "البيانات"
- يمكنك استخدام الأسماء المستعارة لتسمية معلمات الطلب والاستجابة.
قد يبدو. أن الاختلافات طفيفة ، لكنها مهمة بشكل أساسي.
بالمناسبة ، ظهر هذا البروتوكول في الممارسة العملية ، أي عند إنشاء json api ، استخدمت الطريقة الموضحة في هذا البروتوكول.
ملاحظة:
بعد أن تلقيت مجموعة من التعليقات والسلبيات السلبية ، قررت التحقق مرة أخرى ، ربما أفعل شيئًا خاطئًا حقًا؟ وبطبيعة الحال ، كل ما أكتب هنا هو رأيي الشخصي ولا أفرض أي شيء على أي شخص. دعني أعطيك بضعة أمثلة:
1. مثال لطلب
Yandex Direct JSON API :
{ "method": "GetClientInfo", "param": ["agrom"], "locale": "ru", "token": "0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f" }
ويمكنهم أيضًا القراءة عن الرموز المميزة:
رموز التفويض2. مثال من Sberbank API
Payment من تطبيق جوال يستخدم Apple Payلن أعطي طلب JSON ، إنه كبير ، يمكنك رؤية الرابط.
من المهم أن يحتوي طلب JSON على "paymentToken".
في ما يلي رابط لمتطلبات Apple الخاصة بتكوين الرمز المميزمن المهم أن نفهم أنه يتم استخدام الرموز والتوقيعات في واجهة برمجة التطبيقات في كثير من الأحيان ، بشكل طبيعي مع طرق الحماية الأخرى. وأولئك الذين يعملون مع واجهات برمجة تطبيقات مختلفة يعرفون ذلك جيدًا.