Apollo-link-rest: لا يمكن دمج rest w / graphql في نفس الاستعلام

تم إنشاؤها على ٤ أبريل ٢٠١٨  ·  9تعليقات  ·  مصدر: apollographql/apollo-link-rest

ملخص

أحاول خلط طلب راحة مع طلب رسم بياني. يشير كلا الطلبين إلى نفس المورد والعمل عند تنفيذهما بشكل فردي. ومع ذلك ، عند محاولة تنفيذ الاثنين معًا

const QUERY_AUTHORS_AND_PEOPLE = gql`
    query {
        people @rest(type: "[Person]", path: "authors/") {
            firstName
        }

        authors {
            id
            firstName
        }
    }

أحصل على الخطأ التالية

image

يمكنك العثور على المثال الذي أشير إليه هنا

blocking bug 🐛 has-reproduction help wanted 🛠

التعليق الأكثر فائدة

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

ال 9 كومينتر

مرحبًا @ chimon2000 - يبدو هذا وكأنه خطأ كبير ، هل تشعر بالراحة عند إرسال اختبار وحدة لنا يمكن أن يعيد إنتاج هذا؟

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

مرحبًا fbartho ، شكرًا على الرد السريع. لقد أضفت مثال الريبو الخاص بي الذي يحتوي على الكود اللازم لإعادة إنتاج المشكلة مع أمثلة رد الفعل الزاوي و (p) ، ولكن يمكنني رؤية إضافة اختبار وحدة لهذا أيضًا.

لست بارعًا بشكل خاص في كيفية عمل روابط أبولو.

مرحبًا fbartho ، لقد أضفت اختبار فشل العلاقات العامة لكي تتجول فيه - إنها بالفعل مشكلة ، آمل أن تكون مفيدة.

بالنظر إلى المصدر ، يبدو أن المرة الوحيدة التي يتم فيها استدعاء forward لإرسال العملية إلى الارتباط التالي هي here .

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

أعتقد أن نسخ هذا القسم من apollo-link-state سيكون كافيًا (قد يكون من المنطقي التنسيق مع المشرفين لاستخراج هذا النوع من المنطق في حزمة منفصلة لأنه يبدو مفيدًا حقًا لمنشئي الروابط).

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

@ paulpdaniels المتأنق ، أحب ذلك. من فضلك خذها.

سيناريوهات خطرة محددة أريد التأكد من أننا ندعمها / لا نكسرها:

  • تداخل @rest() داخل @rest() طلبات البحث مع `export (as:…) قيد الاستخدام
  • تداخل @rest() داخل استعلامات server-graphql مع استخدام `export (as:…)
  • تداخل @rest() داخل @client طلبات البحث
  • تأكد من أن هذا لا يكسر مسارات كود Typename Patcher!

لا يبدو أن توجيه التصدير يعمل داخل استعلامات server-graphql. تلقيت الخطأ التالي: توجيه غير معروف "تصدير".

marcelombc سيعتمد على تطبيق الخادم الخاص بك على ما أعتقد ، apollo-server يأتي معه خارج الصندوق ، لكنني لا أعتقد أنه مطلوب أن يكون متوافقًا مع المواصفات.

paulpdaniels أنت على حق. أنا أستخدم الجرافين على الخادم وكنت بحاجة فقط لإنشاء توجيه مخصص لدعمexport. شكرا لمساعدتك.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات