سؤال

أنا لا أفهم ما هو المعرف في JSON RPC. أيضا، ما مدى سوء النظر في عدم استخدام معايير JSON-RPC.ORG عند تطوير مجموعة أدوات؟ يبدو أن هناك بعض الغموض في عالم JSON-RPC.

PS المعرف الذي أشير إليه هو المعرف هنا:

{"params":["Hello","World"],"method":"hello_world","id":1}
هل كانت مفيدة؟

المحلول

أنت غير مضمون للحصول على إجاباتك مرة أخرى بالترتيب الذي طلبته؛ المعرف هو مساعدتك في فرز ذلك.

نصائح أخرى

يتم إرجاع "المعرف" في كائن الاستجابة المقابل، حتى تتمكن من تعيين سياق واحد للآخر.

إذا كنت تقوم بإجراء مكالمات واحدة متزامنة، فقد لا معنى لها، ولكن في بيئة ASYNC متعددة الدعوات، فإنه أمر حيوي.

لا ينبغي أن تكون صعبة مشفرة إلى 1، ولكنها اضفة على قيمة فريدة لكل كائن طلب يمكنك توليده من العميل.

يذكر أي من الإجابات الفرق بين الإصدارات الحالية من البروتوكول.

JSON RPC 1.0.:

معرف الطلب. هذا يمكن أن يكون من أي نوع. يتم استخدامه لتتناسب مع الاستجابة مع الطلب الذي يرد عليه.

JSON RPC 2.0.:

معرف تأسيسه العميل الذي يجب أن يحتوي على سلسلة أو رقم أو قيمة فارغة إذا تم تضمينها. إذا لم يتم تضمينه، فمن المفترض أن يكون إشعارا. يجب أن لا تكون القيمة عادة لا تحتوي الأرقام على أجزاء كسور.

وبالتالي، فهي بخير تماما في JSON RPC 2.0 لتعيين معرف لبعض القيمة الثابتة. ولكن كن على دراية باستخدام المعرف في طلبات الدفعات.

  1. للسماح للخادم يعرف أنك تتوقع استجابة.
  2. لتتناسب مع الردود على الطلبات عند استخدام غير متزامن أو دفعة المكالمات.

يمكنك قراءة مستند JSON RPC https://www.jsonrpc.org/specification.. وبعد في "كائن الطلب 4"، يفسر معرف الهوية بوضوح.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top