كيف تبدو استجابة الخطأ الجيدة في API؟
خطأ API الجيد يستخدم رمز الحالة الصحيح وجسماً متسقاً قابلاً للقراءة آلياً. يوحّد RFC 9457 (تفاصيل المشكلة) ذلك الجسم: عنوان نوع (URI)، وعنوان قصير، والحالة، وتفصيل مقروء، ومعرّف للحالة، بصيغة application/problem+json. يخبر المستدعي بما حدث وكيف يصلحه دون كشف تتبّعات الأخطاء أو SQL أو المسارات الداخلية.
كيفية استخدام استجابة API ← المشكلات المحتملة بالذكاء الاصطناعي
- الصق الاستجابة — سطر الحالة والترويسات والجسم، أو JSON فقط.
- الصق، إن شئت، العقد المتوقع (مخططاً أو وصفاً) والطلب الذي أجابت عنه.
- اختر لغة المخرجات ثم اضغط «تحليل».
- راجع المشكلات من الحرجة نزولاً؛ تشير كل منها إلى مسار JSON وتقتبس القيمة التي تُظهر المشكلة. ونزّل النتيجة بصيغة CSV أو Markdown أو JSON.
مزايا استجابة API ← المشكلات المحتملة بالذكاء الاصطناعي
- يرصد الأنواع غير المتسقة والحقول المفقودة ودلالات الحالة الخاطئة والبيانات المسرّبة وصيغ التواريخ السيئة ومعالجة null ومؤشرات ضعف التسمية والتقسيم إلى صفحات
- تحمل كل مشكلة مسار JSON ودليلاً مقتبساً
- عقد متوقّع اختياري للمقارنة معه
- درجة سلامة إضافة إلى قائمة «يبدو جيداً» (looks good)
مثال على استجابة API ← المشكلات المحتملة بالذكاء الاصطناعي
مراجعة الاستجابة
الإدخال:
{"data":[{"id":1,"passwordHash":"…"},{"id":"2","createdAt":"02/01/2026"}]}النتيجة:
ISS-1 data-exposure (Critical) $.data[0].passwordHash
ISS-2 inconsistent-type (High) $.data[*].id — number vs string
ISS-3 bad-date-format (Medium) $.data[1].createdAtالأسئلة الشائعة حول استجابة API ← المشكلات المحتملة بالذكاء الاصطناعي
هل ينبغي أن أضمّن الترويسات؟
نعم كلما أمكن — فالحالة والترويسات تتيح للذكاء الاصطناعي فحص دلالات الحالة وأنواع المحتوى والتخزين المؤقت إضافة إلى الجسم.
ماذا يحدث عندما أضيف العقد المتوقع؟
تُقارَن الاستجابة به، ويُبلَّغ عن كل انحراف — حقل مفقود، أو نوع مختلف، أو حالة غير متوقعة — كمشكلة.
كيف تُحدَّد درجات الخطورة؟
الحرجة (Critical) كشف للبيانات أو إفساد لها، والمرتفعة (High) ما سيكسر العملاء، والمتوسطة (Medium) مشكلة في العقد أو الجودة، والمنخفضة (Low) شكلية.
ملاحظات تقنية
لكل مشكلة معرّف ونوع (نوع بيانات غير متسق، أو حقل مفقود، أو حالة خاطئة، أو كشف بيانات، أو صيغة تاريخ سيئة، أو معالجة null، أو التسمية، أو التكرار، أو الترميز، أو التقسيم إلى صفحات، أو صيغة الخطأ، أو الأداء، أو غير ذلك) ودرجة خطورة، ومسار JSON أو الترويسة أو «status» التي تخصها، والقيمة الدالّة، وإصلاح مقترح. ويضيف التقرير درجة سلامة من 0 إلى 100 وقائمة «يبدو جيداً»؛ ولا يُبلَّغ عن مشكلة لا يمكن الإشارة إليها في الاستجابة.
المراجع
- RFC 9457: Problem Details for HTTP APIsصيغة الخطأ application/problem+json (type وtitle وstatus وdetail وinstance) لأخطاء API القابلة للقراءة آلياً.
- OWASP Cheat Sheet Series: Error Handlingاستجابات خطأ تساعد المستدعي دون تسريب تتبّعات الأخطاء أو الإصدارات أو المسارات الداخلية.
- RFC 9110: HTTP Semanticsمعاني أساليب HTTP وحقول الترويسات ورموز الحالة والتفاوض على المحتوى، بغضّ النظر عن إصدار البروتوكول.