مولد تعريفات نوع GraphQL من JSON

بياناتمطورنص
إعلان · حذف؟
إعلان · حذف؟

مرشد

مُولد تَعَرُّف أنواع JSON إلى GraphQL

مولد تعريفات نوع GraphQL من JSON

أدخل أي كائن أو مصفوفة JSON واحصل فورًا على مستند مُعرّف للنظام (SDL) يصف شكله. يقوم المُولد بتنقل شجرة JSON، وينتج أنواعًا مُتسلسلة، وينسق الأسماء المُتسلسلة للأجسام المُتداخلة، ويُصدر نوع جذري اختياري Query لأن الناتج جاهز للإدخال في خادم مثل Apollo، Yoga، Mercurius، أو graphql-go.

لماذا يهم مُحول مُحدد من JSON إلى SDL للغة GraphQL؟

كتابة أنواع GraphQL يدويًا من نموذج بيانات يُعدّ ميكانيكيًا لكنه معرض للخطأ. خطأ في تجاهل الإسقاط، أو عدم التوازن Int — أي منهما تحتاجه؟ Float، أو نسي تعيين علامة غير مسموح لها على عنصر قائمة يمكن أن يُوقف إنشاء الكود لجميع العملاء المُستقبلين. يُعامل المُولد المُحكم نفس النموذج JSON بشكل متماثل كل مرة، مما يجعله آمنًا لإعادة التوليد مع أي تغيير في واجهة الخدمة.

كيفية استخدام

  1. أدخل كائنًا أو مصفوفة JSON في مربع الإدخال، أو اضغط على اختر مثالًا لتحميل نموذج بيانات مُمثل.
  2. اضبط اسم نوع الجذر إذا كنت ترغب في شيء مختلف عن Root.
  3. اختر قابلية الحقل للإسقاط استراتيجية – صارمة (!) لحقول مطلوبة أو جميع الإسقاطات للإختبارات الأولية.
  4. تبديل تَعَرُّف مُعرف (ID) لتحويل id و *Id المفاتيح إلى نوع ID المُتسلسل.
  5. بمُضافة اختياريًا نوع جذري Query بمجالات كائن فردي وقائمة.
  6. انسخ SDL أو احفظه كـ schema.graphql.

خصائص

  • تَعَرُّف أنواع مُتسلسلة – يُميز String, Int, Float, Booleanو، و ID بشكل مُحدد.
  • أنواع الكائنات المُتداخلة – يُنتج نوعًا مُسمى منفصل لكل كائن مُتداخل باستخدام صيغة باسل كايس من مفتاح الحقل.
  • دمج مصفوفات الكائنات – يُدمج كل حقل عبر عناصر المصفوفة بحيث تُعرف الحقول المُتاحة بشكل صحيح.
  • مُضافة أو إلغاء الإسقاط بين الحقول – يُصدر علامات صارمة ! أو يُخفف كل شيء إلى إسقاطات للإختبارات المبكرة.
  • تَعَرُّف تلقائيًا للمعرف (ID) – يُرفع مفاتيح النمط id, userId, orderId إلى ID المُتسلسل.
  • مُخطط الاستعلام الجذري – اختياري type Query { ... } بأوامر مُتسلسلة للكائنات الفردية والقائمة.
  • العملية فقط من جانب العميل – لا يُخرج JSON من المتصفح، لذا فإن الأداة آمنة للبيانات الحساسة.

قواعد تَعَرُّف أنواع

  • الإحصائيات المُتسلسلة تُحول إلى Int؛ الأعداد التي تحتوي على جزء كسري تُحول إلى Float. إذا تم رؤية الحقل كمُتسلسل يُرفع إلى Float.
  • السلاسل تُحول إلى String. مع تفعيل تَعَرُّف المعرف، تُصبح المفاتيح المُسمّاة id أو التي تنتهي بـ Id مُعرفًا ID.
  • القيم الثنائية تُحول إلى Boolean.
  • null تُحدد القيم المُسموح بها للحقل، لذا يُستبعد التحقق من القيم المُتسلسلة في الناتج المُولد !.
  • المصفوفات الفارغة تُستخدم كـ [String] لأن لا يمكن تعيين نوع عنصر آمن.
  • تُدمج مصفوفات الكائنات إلى نوع مُسمى واحد؛ تُصبح الحقول المفقودة من أي عنصر مُسموحًا بها تلقائيًا.

من يستخدم هذا؟

  • مُهندسون في الخلفية الذين يُحيطون بواجهة REST أو ملف JSON ببوابة GraphQL.
  • مُطوّرون في الواجهة الأمامية الذين يُختبرون نموذجًا لشكل المُدخلات قبل أن تكون الواجهة جاهزة.
  • مُصممون واجهات يُوثقون أشكال الاستجابة من مُزوّد خارجي كعقدة مُتسلسلة.
  • مُسارات إنشاء الكود التي تحتاج إلى نسخة مُتكررة من مُعرّف النموذج (SDL) من نموذج JSON مستقر.

إعلان · حذف؟

التعليمات

  1. ما هو مُعرّف النموذج (SDL) للغة GraphQL؟

    مُعرّف النموذج (SDL) هو نمط نصي يستخدمه GraphQL لوصف أنواع، حقول، استعلامات، وعمليات تُجرى على واجهة الخدمة. يستخدم مصطلحات مثل نوع، مُتسلسل، مُدخل، ونوع مُدخل لتحديد شكل البيانات التي يمكن أن تُرجعها الخدمة وعمليات يمكن أن تُجرى من قبل العميل.

  2. لماذا يستخدم GraphQL علامة ! (غير مسموح به)؟

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

  3. في أي وقت يجب استخدام نوع ID بدلًا من نوع String؟

    يُستخدم نوع ID للإشارات غير المُعلنة التي تُستخدم لاسترجاع أو تخزين الكائنات - المفاتيح الأساسية، UUIDs، أسماء المواقع، المفاتيح الخارجية. يُحول إلى سلسلة نصية لكنه يُشير إلى الهوية بدلًا من المحتوى المُعرض، مما يساعد العميل مثل Apollo وRelay على بناء مخازن مُتسلسلة بشكل صحيح.

  4. كيف يتعامل GraphQL مع مصفوفات الكائنات في SDL؟

    تُكتب المصفوفات باستخدام الأقواس المربعة، مثل [Order!]!. تُشير العلامة ! داخل الأقواس إلى أن كل عنصر في المصفوفة غير مسموح به، وتُشير العلامة ! خارج الأقواس إلى أن المصفوفة نفسها غير مسموح بها. يتطلب تعيين نوع عنصر من نموذج JSON دمج الأشكال المُتسلسلة عبر كل عنصر في المصفوفة.

هل تريد حذف الإعلانات؟ تخلص من الإعلانات اليوم

تثبيت ملحقاتنا

أضف أدوات IO إلى متصفحك المفضل للوصول الفوري والبحث بشكل أسرع

أضف لـ إضافة كروم أضف لـ امتداد الحافة أضف لـ إضافة فايرفوكس أضف لـ ملحق الأوبرا

وصلت لوحة النتائج!

لوحة النتائج هي طريقة ممتعة لتتبع ألعابك، يتم تخزين جميع البيانات في متصفحك. المزيد من الميزات قريبا!

إعلان · حذف؟
إعلان · حذف؟
إعلان · حذف؟

ركن الأخبار مع أبرز التقنيات

شارك

ساعدنا على الاستمرار في تقديم أدوات مجانية قيمة

اشتري لي قهوة
إعلان · حذف؟