البحث الفارغ لا يعرض رسالة وصفية

لا يسمح الواجهة الأمامية بالبحث الفارغ، وتعرض رسالة مفيدة توضح أن مصطلح البحث قصير جدًا.

ومع ذلك، لا يزال نقطة نهاية الـ API تسمح بالبحث الفارغ، لكن الاستجابة هي كائن JSON يحتوي على قيمة NULL وحالة 200.

أليس من المفترض أن يستجيب الـ API برسالة خطأ توضيحية وحالة 400؟

المتوقع:

// خطأ 400
{
  "errors": [ "لقد زودت معاملات غير صالحة للطلب: q" ],
  "error_type": "invalid_parameters"
}

الفعلي:

// 200 ok
{
  "grouped_search_result": null
}

يمكن بالتأكيد تحسين الـ API هنا، لكن مسار الاستعلام يسمح بالعديد من المعاملات:

يجب أن نكون حذرين للغاية هنا للتحقق مما إذا كنا نتعامل مع min_search_term_length كشرط إلزامي أم كخيار اختياري.

شكرًا لك @sam

حاليًا:

  • البحث الفارغ يمثل نقطة ميتة في واجهة برمجة التطبيقات (API)
  • نقطة نهاية البحث تقبل مصطلح بحث بالإضافة إلى حجج التعريفات الوصفية (المستخدم، الفئات، الوسوم، إلخ)
  • حجج التعريفات الوصفية غير موثقة في واجهة برمجة التطبيقات
  • الواجهة الأمامية تتحقق من صحة البحث بشكل صحيح، لكن واجهة برمجة التطبيقات الخلفية تتحقق منها جزئيًا (مما يسمح بمرور البحث الفارغ)
  • يجب أن تكون رسالة الاستجابة وصفية في أي حال

آمل أن يكون هذا الملخص مفيدًا.
من وجهة نظري، هذا خطأ. سأكون مندهشًا لو كان هذا هو السلوك المقصود.
شكرًا لك على أي حال :v: