Apollo-link-rest: يقوم 404 OK Response بإرجاع قيمة خالية بدلاً من خطأ

تم إنشاؤها على ١٥ يوليو ٢٠١٩  ·  6تعليقات  ·  مصدر: apollographql/apollo-link-rest


كنت أعمل مؤخرًا في مشروع باستخدام apollo-link-rest لإجراء مكالمات متجانسة (لنقاط نهاية مختلفة) التي كان التطبيق يستخدمها. بعض نقاط النهاية هي GraphQL والبعض الآخر الباقي.

كانت إحدى نقاط النهاية الخاصة بي تفشل لأن المورد الذي كنت أبحث عنه لم يكن موجودًا ، وبالتالي كان الجلب يعيد 404. ولكن منذ # 119 & # 142 (https://github.com/apollographql/apollo-link-rest/blob /master/src/restLink.ts#L1047).

لماذا من المنطقي إخفاء المعلومات من الاستجابة؟ يمكن أن يتم ذلك في التكوين القائم؟

help wanted 🛠 question❔

ال 6 كومينتر

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

إذا كنت لا تزال تريد التسبب في فشل هذا ، فيمكنك كتابة غلاف customFetch الخاص بك والذي سيؤدي إلى ظهور خطأ عند حدوث 404.

شكرا @ fbartho أعتقد أن هذا منطقي. أعتقد أن المشكلة في حالتنا هي أن المخطط الخارجي يبدو REST-y للغاية ، مما يجعل من الصعب العمل بدون 404. سأقوم بتطبيق customFetch الخاص بي. شكرا!

لا أعتقد أنه يجب التعامل مع أخطاء 404 بشكل مختلف ، فهي لا تزال خطأ العميل.

kevinrobayna هل تمكنت من التعامل مع خطأ 404؟ لدي متطلبات مماثلة. أحتاج إلى معالجة خطأ 404. حاليًا ، يقوم عميل أبولو بإرجاع بيانات فارغة. بينما أرى أنها 404 في مفتش الشبكة.

anasnain اضطررت للتعامل معها في الحدث onCompleted :

onCompleted: (data) => {
  const token = data?.passwordRecoveryToken;
  // Apollo client sends null on 404 errors: https://github.com/apollographql/apollo-link-rest/issues/119
  if (!token) return handleEmailNotFound();

  return onGoToVerifyCode({ tokenId: token.id, email: inputs?.email?.value });
},

لقد وضعت PR لإعادة 404 إلى وضعها السابق كأخطاء شبكة عادية ، لتتوافق مع ممارسات REST API الجيدة: https://github.com/apollographql/apollo-link-rest/pull/283

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