ملخص
أحاول خلط طلب راحة مع طلب رسم بياني. يشير كلا الطلبين إلى نفس المورد والعمل عند تنفيذهما بشكل فردي. ومع ذلك ، عند محاولة تنفيذ الاثنين معًا
const QUERY_AUTHORS_AND_PEOPLE = gql`
query {
people @rest(type: "[Person]", path: "authors/") {
firstName
}
authors {
id
firstName
}
}
أحصل على الخطأ التالية
يمكنك العثور على المثال الذي أشير إليه هنا
مرحبًا @ chimon2000 - يبدو هذا وكأنه خطأ كبير ، هل تشعر بالراحة عند إرسال اختبار وحدة لنا يمكن أن يعيد إنتاج هذا؟
بالتناوب ، العلاقات العامة التي تصلح هذا سيكون أفضل. يسعدني تقديم المساعدة ، لكن بيئة الاختبار الرئيسية الحالية الخاصة بي لا تستخدم خادم GraphQL حقيقيًا ، لذا فأنا لست مهيئًا تمامًا للتحقق من أن هذا يعمل.
مرحبًا fbartho ، شكرًا على الرد السريع. لقد أضفت مثال الريبو الخاص بي الذي يحتوي على الكود اللازم لإعادة إنتاج المشكلة مع أمثلة رد الفعل الزاوي و (p) ، ولكن يمكنني رؤية إضافة اختبار وحدة لهذا أيضًا.
لست بارعًا بشكل خاص في كيفية عمل روابط أبولو.
مرحبًا fbartho ، لقد أضفت اختبار فشل العلاقات العامة لكي تتجول فيه - إنها بالفعل مشكلة ، آمل أن تكون مفيدة.
بالنظر إلى المصدر ، يبدو أن المرة الوحيدة التي يتم فيها استدعاء forward
لإرسال العملية إلى الارتباط التالي هي here
.
أعتقد أننا إذا أردنا دعم سلوك الدمج ، فنحن بحاجة إلى فحص شريط الاستعلام عن الأجزاء غير المستقرة وإعادة توجيهها إلى الرابط التالي.
أعتقد أن نسخ هذا القسم من apollo-link-state سيكون كافيًا (قد يكون من المنطقي التنسيق مع المشرفين لاستخراج هذا النوع من المنطق في حزمة منفصلة لأنه يبدو مفيدًا حقًا لمنشئي الروابط).
في الواقع لقد تحققت للتو وهي بالفعل جزء من أدوات أبولو. fbartho سأكون على استعداد لاتخاذ هذا إذا لم يكن هناك شخص آخر يعمل عليه بالفعل. يبدو أنه حل سهل نسبيًا. سوف تحتاج إلى تخيل بعض سيناريوهات الاختبار المختلفة على الرغم من ...
@ paulpdaniels المتأنق ، أحب ذلك. من فضلك خذها.
سيناريوهات خطرة محددة أريد التأكد من أننا ندعمها / لا نكسرها:
@rest()
داخل @rest()
طلبات البحث مع `export (as:…) قيد الاستخدام@rest()
داخل استعلامات server-graphql مع استخدام `export (as:…)@rest()
داخل @client
طلبات البحثلا يبدو أن توجيه التصدير يعمل داخل استعلامات server-graphql. تلقيت الخطأ التالي: توجيه غير معروف "تصدير".
marcelombc سيعتمد على تطبيق الخادم الخاص بك على ما أعتقد ، apollo-server
يأتي معه خارج الصندوق ، لكنني لا أعتقد أنه مطلوب أن يكون متوافقًا مع المواصفات.
paulpdaniels أنت على حق. أنا أستخدم الجرافين على الخادم وكنت بحاجة فقط لإنشاء توجيه مخصص لدعمexport. شكرا لمساعدتك.
التعليق الأكثر فائدة
في الواقع لقد تحققت للتو وهي بالفعل جزء من أدوات أبولو. fbartho سأكون على استعداد لاتخاذ هذا إذا لم يكن هناك شخص آخر يعمل عليه بالفعل. يبدو أنه حل سهل نسبيًا. سوف تحتاج إلى تخيل بعض سيناريوهات الاختبار المختلفة على الرغم من ...