المهارات api-design-principles
📦

api-design-principles

آمن

تصميم واجهات برمجة تطبيقات بديهية وقابلة للتوسع

متاح أيضًا من: wshobson

إن بناء واجهات برمجة تطبيقات بدون مبادئ تصميم متسقة يؤدي إلى واجهات مربطة وتجربة مطورين ضعيفة. توفر هذه المهارة أنماط REST وGraphQL مثبتة لإنشاء واجهات برمجة تطبيقات قابلة للصيانة وموثقة جيدًا تتوسع مع احتياجاتك.

يدعم: Claude Codex Code(CC)
🥉 74 برونزي
1

تنزيل ZIP المهارة

2

رفع في Claude

اذهب إلى Settings → Capabilities → Skills → Upload skill

3

فعّل وابدأ الاستخدام

اختبرها

استخدام "api-design-principles". تصميم نقاط نهاية لكتالوج منتجات التجارة الإلكترونية

النتيجة المتوقعة:

  • GET /api/v1/products - سرد المنتجات مع الترقيم
  • GET /api/v1/products/{id} - الحصول على تفاصيل المنتج
  • POST /api/v1/products - إنشاء منتج (المشرف فقط)
  • PUT /api/v1/products/{id} - استبدال المنتج (المشرف فقط)
  • PATCH /api/v1/products/{id} - تحديث حقول المنتج (المشرف فقط)
  • DELETE /api/v1/products/{id} - إزالة المنتج (المشرف فقط)
  • GET /api/v1/products/{id}/reviews - سرد مراجعات المنتج
  • GET /api/v1/categories/{id}/products - سرد المنتجات حسب الفئة

استخدام "api-design-principles". ما رموز حالة HTTP للسيناريوهات الشائعة؟

النتيجة المتوقعة:

  • 200 OK - طلبات GET وPUT وPATCH الناجحة
  • 201 Created - POST ناجح مع إنشاء المورد
  • 204 No Content - DELETE ناجح أو استجابة فارغة
  • 400 Bad Request - JSON غير صالح أو بناء جملة غير صحيح
  • 401 Unauthorized - مصادقة مفقودة أو منتهية الصلاحية
  • 403 Forbidden - مصادقة صالحة ولكن أذونات غير كافية
  • 404 Not Found - المورد غير موجود
  • 409 Conflict - تعارض الموارد (على سبيل المثال، مفتاح مكرر)
  • 422 Unprocessable Entity - أخطاء التحقق من الصحة
  • 429 Too Many Requests - تجاوز حد المعدل
  • 500 Internal Server Error - فشل خادم غير متوقع

التدقيق الأمني

آمن
v1 • 2/24/2026

Static analysis flagged 201 patterns that are all false positives. The skill contains only documentation and educational content about API design. Markdown code blocks (backticks) were incorrectly identified as shell execution. Cryptographic references appear in security checklists, not actual implementations. URL and IP references are documentation examples for API endpoints. No executable code or security risks present.

6
الملفات التي تم فحصها
1,886
الأسطر التي تم تحليلها
0
النتائج
1
إجمالي عمليات التدقيق
لا توجد مشكلات أمنية
تم تدقيقه بواسطة: claude

درجة الجودة

55
الهندسة المعمارية
100
قابلية الصيانة
87
المحتوى
24
المجتمع
100
الأمان
91
الامتثال للمواصفات

ماذا يمكنك بناءه

تصميم واجهة برمجة تطبيقات جديدة

تصميم REST أو GraphQL API جديد من الصفر مع نمذجة الموارد المناسبة وهيكل نقطة النهاية ومعايير التوثيق قبل بدء التنفيذ.

مراجعة وإعادة هيكلة واجهة برمجة التطبيقات

تقييم نقاط نهاية واجهة برمجة التطبيقات الحالية مقابل مبادئ التصميم لتحديد أوجه عدم الاتساق وتحسين اتفاقيات التسمية وتخطيط استراتيجيات الترحيل.

توثيق معايير الفريق

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

جرّب هذه الموجهات

تصميم نقطة نهاية REST أساسية
أحتاج إلى تصميم نقاط نهاية REST لنظام مدونة مع المؤلفين والمنشورات والتعليقات. ساعدني في هيكلة تسلسل عناوين URL وطرق HTTP وتنسيقات الاستجابة مع اتباع أفضل ممارسات REST.
مراجعة مخطط GraphQL
راجع مخطط GraphQL الخاص بي لنظام إدارة المستخدمين. تحقق من الاستخدام الصحيح للأنواع غير القابلة للقيم null وتنفيذات الواجهة واقترح تحسينات لكفاءة الاستعلام وتجنب مشاكل N+1.
استراتيجية إصدار واجهة برمجة التطبيقات
واجهة برمجة التطبيقات الخاصة بي بها تغييرات جوهرية قادمة. قارن بين إصدار مسار URL وإصدار الرأس ونهج معلمة الاستعلام لحالة الاستخدام الخاصة بي. يتضمن توصيات الجدول الزمني للإيقاف.
تصميم التعامل مع الأخطاء
صمم تنسيق استجابة خطأ متسق لـ REST API الخاص بي. يتضمن أخطاء التحقق على مستوى الحقل ورموز الأخطاء للتعامل البرمجي ورموز حالة HTTP المناسبة للسيناريوهات الشائعة.

أفضل الممارسات

  • استخدم أسماء الجمع لمجموعات الموارد واجعل تسلسلات عناوين URL ضحلة (بحد أقصى 2-3 مستويات من التداخل)
  • نفذ الترقيم المتسق مع حدود حجم الصفحة الموثقة وتضمين بيانات تعريف العدد الإجمالي في الاستجابات
  • قم بإصدار واجهات برمجة التطبيقات من البداية باستخدام مسار URL أو إصدار الرأس، وحافظ على سياسة إيقاف واضحة للإصدارات الأقدم

تجنب

  • استخدام الأفعال في نقاط النهاية مثل /createUser أو /getUserById بدلاً من طرق HTTP المناسبة على أسماء موارد الجمع
  • إرجاع تنسيقات استجابة مختلفة أو أسماء حقول عبر نقاط نهاية متشابهة، مما يكسر توقعات العميل
  • عناوين URL المتداخلة بعمق مثل /users/{id}/orders/{orderId}/items/{itemId}/reviews التي تقترن الموارد بإحكام شديد

الأسئلة المتكررة

هل يجب استخدام REST أو GraphQL لواجهة برمجة التطبيقات الجديدة الخاصة بي؟
اختر REST عندما يكون لديك حدود موارد واضحة، وتحتاج إلى تخزين مؤقت قوي، أو تخدم عمليات CRUD بسيطة. اختر GraphQL عندما يحتاج العملاء إلى جلب بيانات مرن، أو لديك علاقات معقدة، أو يحتاج عملاء الجوال إلى تقليل الطلبات.
كيف أتعامل مع إصدار واجهة برمجة التطبيقات بدون كسر العملاء الحاليين؟
ابدأ الإصدار من v1 عند الإطلاق. بالنسبة للتغييرات الجوهرية، أنشئ v2 بجانب v1. وثق جداول زمنية للإيقاف (عادة 6-12 شهرًا). استخدم رؤوس sunset لإخطار العملاء بالإزالات القادمة. لا تقم أبدًا بإزالة الإصدارات بدون إشعار كافٍ.
ما نهج الترقيم الذي يجب استخدامه لمجموعات البيانات الكبيرة؟
استخدم الترقيم القائم على الإزاحة (page/page_size) لحالات الاستخدام البسيطة مع مجموعات بيانات أقل من 100 ألف سجل. استخدم الترقيم القائم على المؤشر لمجموعات البيانات الكبيرة أو البيانات في الوقت الفعلي حيث تهم الاتساق. فرض دائمًا أحجام صفحات قصوى لمنع إساءة الاستخدام.
كيف أصمم استجابات الأخطاء التي يمكن للمطورين استخدامها فعليًا؟
تضمين رمز خطأ مقروء آليًا ورسالة مقروءة بشريًا وتفاصيل اختيارية على مستوى الحقل. استخدم هيكلًا متسقًا عبر جميع نقاط النهاية. وثق جميع رموز الأخطاء في مرجع واجهة برمجة التطبيقات الخاص بك. إرجاع أخطاء التحقق من الصحة كـ 422 مع رسائل خاصة بالحقل.
ما استراتيجية حد المعدل التي يجب تنفيذها؟
ابدأ بالطلبات في الدقيقة لكل مفتاح API أو IP. تضمين رؤوس حد المعدل (X-RateLimit-Limit وX-RateLimit-Remaining وX-RateLimit-Reset). إرجاع حالة 429 مع رأس Retry-After عند التجاوز. فكر في حدود متدرجة بناءً على مستوى المصادقة.
كيف أتعامل مع المصادقة في تصميم واجهة برمجة التطبيقات؟
استخدم رموز Bearer (JWT أو معتمة) في رؤوس Authorization لمعظم واجهات برمجة التطبيقات. فكر في مفاتيح API للتواصل من خادم إلى خادم. لا تقبل أبدًا بيانات الاعتماد في معلمات URL. وثق تدفقات تحديث الرمز بوضوح. إرجاع 401 لفشل المصادقة و403 لفشل التفويض.

تفاصيل المطور