ForHosting KIT · أدوات المطورين

استخراج أسماء متغيرات GraphQL وأنواعها

تقرأ هذه الأداة مستند GraphQL قابلاً للتنفيذ، وتتحقق من صحة بنيته، ثم تسرد المتغيرات المعلنة في كل استعلام أو تعديل أو اشتراك.

● Betaمجاني · داخل متصفحك
استخدمها من الويبAPIالبريدTelegramالتطبيق قريبًا

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

ميّزوا بين التصريحات والاستخدامات

تظهر متغيرات GraphQL في موضعين مختلفين: تصريح مثل <code>$id: ID!</code> بجوار اسم العملية، واستخدام مثل <code>user(id: $id)</code> داخل مجموعة الاختيار. تعرض هذه الإمكانية التصريحات فقط، وتجمعها تحت الاستعلام أو التعديل أو الاشتراك الذي يملكها، ولذلك يمكن لعمليتين التصريح بالاسم نفسه من دون دمجهما. وتبقى صيغة النوع المهمة كما هي، مثل <code>String</code> و<code>ID!</code> و<code>[ID!]!</code>. تُحلل القيم الافتراضية والتوجيهات لإثبات سلامة البنية، لكنها لا تظهر في الناتج. كما تُفحص الأجزاء، لكنها لا تنشئ سجلات لأنها لا تصرح بمتغيرات العمليات. ويظهر الاستعلام المختصر المجهول كعملية استعلام بلا اسم وبقائمة متغيرات فارغة.

تحققوا من البنية بطريقة حتمية

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

ادمجوا النتيجة المنظمة في أدواتكم

تحتوي الاستجابة على المصفوفة <code>operations</code> بترتيب المستند، وعلى الإجمالي <code>variable_count</code>. تحدد كل عملية نوعها، وتضم اسمها إن كان مكتوباً، وتحتوي على مصفوفة <code>variables</code> ذات سجلات <code>name</code> و<code>type</code>. يناسب هذا الشكل الثابت إنشاء محررات الإدخال، ومقارنة العمليات المحفوظة، وإعداد جداول التوثيق، واكتشاف مدخل إلزامي جديد. ويمنع فصل العمليات التعارضات الوهمية بين الأسماء المتكررة. يقتصر الإدخال على 200,000 محرف لضبط المعالجة. لا يُنفذ أي استعلام، ولا يلزم مخطط أو ترويسات أو بيانات اعتماد أو قيم تشغيل. يمكنكم لصق المستند في المتصفح أو استدعاء API مقابل $0.002 لكل عنصر. وعند وجود خطأ، تعرض الاستجابة موضعه التقريبي.

إنشاء نموذج للمتغيرات

اقرؤوا التصريحات وأنشئوا المدخلات الصحيحة قبل جمع قيم وقت التشغيل.

مراجعة الاستعلامات المحفوظة

قارنوا أسماء GraphQL وأنواعها الدقيقة عند تغيير عملية خاضعة لإدارة الإصدارات.

توثيق عمليات العميل

حوّلوا مستنداً متعدد العمليات إلى قائمة موجزة مجمعة حسب نوع العملية.

هل تنفذ الأداة استعلام GraphQL؟

لا. تحلل المستند محلياً ولا تتصل مطلقاً بنقطة نهاية GraphQL.

هل تشمل النتيجة استخدامات المتغيرات؟

لا. تُعرض التصريحات فقط، ولا تُعد الإشارات داخل الحقول أو الوسائط تصريحات جديدة.

هل تبقى علامات القوائم والقيم غير الفارغة؟

نعم. تحتفظ أنواع مثل ID! و[String!] و[ID!]! بصيغة GraphQL الكاملة.

هل تُتحقق الحقول وفق مخططي؟

لا. يُفحص التركيب من دون مخطط؛ ويتطلب وجود الحقول وتوافق الأنواع خطوة مستقلة.

هل يمكن أن يضم المستند عمليات وأجزاء متعددة؟

نعم. تُعرض العمليات بالترتيب، وتُفحص الأجزاء الصحيحة من دون إضافة تصريحات.

ما تكلفة استدعاء API؟

يكلف كل عنصر $0.002. ويشغل إصدار الويب المحلل نفسه محلياً.

كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.

POSThttps://api.kit.forhosting.com/dev/graphql-query-variables-extract

صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.

curl -X POST https://api.kit.forhosting.com/dev/graphql-query-variables-extract \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"query FindUser($id: ID!, $withPosts: Boolean = false) { user(id: $id) { name posts @include(if: $withPosts) { title } } }"}'
{
  "query": "query FindUser($id: ID!, $withPosts: Boolean = false) { user(id: $id) { name posts @include(if: $withPosts) { title } } }"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.graphql_query_variables_extract",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.

لكل طلب$0.002

السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.

max_chars200000
HTTPالرمزالمعنى
401unauthorizedمفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك.
402insufficient_balanceرصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة.
404unknown_typeنوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب.
429rate_limitedتجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة.

اطّلع على توثيق KIT الكامل ←