技能 api-patterns
📦

api-patterns

安全

تصميم واجهات برمجة التطبيقات بشكل أفضل مع التوجيه الأنمطي

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

支持: Claude Codex Code(CC)
🥉 73 青铜
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

3

开启并开始使用

测试它

正在使用“api-patterns”。 هل يجب أن أستخدم REST أو GraphQL لتطبيق جوال بعلاقات بيانات معقدة؟

预期结果:

GraphQL أكثر ملاءمة لحالتك لأن: 1) تستفيد التطبيقات الجوالية من الاستعلامات المرنة لتقليل الجلب الزائد، 2) يمكن لمنصات الواجهة المتعددة طلب ما يحتاجونه بالضبط، 3)خرائط البيانات المعقدة تتوافق بشكل طبيعي مع مخطط GraphQL. ومع ذلك، ضع في اعتبارك GraphQL إذا كان فريقك مألوفاً معها ولديك البنية التحتية لتحليل تكلفة الاستعلام.

正在使用“api-patterns”。 ما رموز حالة HTTP التي يجب أن أستخدمها لنقطة نهاية POST التي تنشئ مستخدماً؟

预期结果:

استخدم 201 Created للنجاح في إنشاء المستخدم، و400 Bad Request لإدخال غير صالح، و409 Conflict إذا كان البريد الإلكتروني موجوداً بالفعل، و500 لأخطاء الخادم. قم بتضمين المستخدم المنشأ في نص الاستجابة وعيّن رأس Location إلى URI المورد الجديد.

安全审计

安全
v1 • 2/24/2026

All 67 static findings are false positives. The skill is a documentation resource for API design patterns. Backticks detected are markdown code formatting, not shell commands. No weak cryptography or reconnaissance tools present.

12
已扫描文件
735
分析行数
2
发现项
1
审计总数
中风险问题 (1)
Markdown Code Blocks Flagged as Shell Commands
Static analyzer detected backticks in markdown files and flagged them as 'Ruby/shell backtick execution'. These are documentation code blocks for API decision trees and examples, not actual shell commands.
低风险问题 (1)
HTTP Status Code Terms Flagged as Reconnaissance
Security testing documentation mentions standard HTTP status codes (401 Unauthorized, 403 Forbidden) and SSRF testing concepts. These are legitimate API security education topics, not reconnaissance tools.
审计者: claude

质量评分

45
架构
100
可维护性
87
内容
31
社区
98
安全
91
规范符合性

你能构建什么

اختيار معمارية واجهة برمجة التطبيقات

مطور يبدأ مشروعاً جديداً ويحتاج إلى اتخاذ قرار بين REST أو GraphQL أو tRPC بناءً على مجموعة التقنيات الأمامية وتعقيد البيانات.

تصميم نقاط نهاية REST

فريق ينفذ واجهة برمجة تطبيقات REST ويحتاج إلى إرشادات حول تسمية الموارد واستخدام طرق HTTP واستخدام رموز الحالة الصحيحة.

مراجعة أمان واجهة برمجة التطبيقات

مهندس أمن يقوم بالتدقيق على واجهات برمجة التطبيقات الموجودة بحثاً عن الثغرات الشائعة باستخدام قائمة التحقق من OWASP API Top 10.

试试这些提示

اختيار نمط واجهة برمجة التطبيقات
أقوم ببناء [وصف مشروعك، مثل تطبيق تجارة إلكترونية بواجهة React وخلفية Node.js]. ما نمط واجهة برمجة التطبيقات الذي يجب أن أستخدمه؟ ما المقايضات؟
تصميم نقاط نهاية REST
أحتاج إلى تصميم نقاط نهاية REST لـ [وصف المورد، مثل إدارة المستخدمين مع الملفات الشخصية والمنشورات والتعليقات]. أرني بنية URL الصحيحة وطرق HTTP ورموز الحالة.
معالجة أخطاء واجهة برمجة التطبيقات
ما أفضل طريقة للتعامل مع الأخطاء في واجهة برمجة التطبيقات؟ أرني تنسيق الاستجابة الصحيح وأي رموز حالة HTTP يجب استخدامها لـ [قائمة سيناريوهات الأخطاء].
استراتيجية إصدار واجهة برمجة التطبيقات
كيف يجب أن أحدث إصدار واجهة برمجة التطبيقات؟ أتوقع أن تتطور واجهة برمجة التطبيقات مع الوقت. قارن إصدار URI وإصدار الرؤوس وإصدار معامل الاستعلام.

最佳实践

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

避免

  • استخدام الأفعال في نقاط نهاية REST (مثل /getUsers بدلاً من GET /users)
  • إرجاع تنسيقات استجابة مختلفة لنفس المورد عبر نقاط نهاية مختلفة
  • كشف رسائل الأخطاء الداخلية وتتبع الأخطاء لعملاء واجهة برمجة التطبيقات

常见问题

متى يجب أن أختار REST بدلاً من GraphQL؟
اختر REST لواجهات برمجة التطبيقات العامة التي تحتاج توافقاً واسعاً أو عمليات CRUD بسيطة أو عندما يكون التخزين المؤقت HTTP مهماً. اختر GraphQL لعلاقات البيانات المعقدة أو منصات الواجهة المتعددة أو عندما يحتاج العملاء إلى استعلامات مرنة.
ما أفضل استراتيجية لإصدار واجهة برمجة التطبيقات؟
إصدار URI (مثل /v1/users) الأكثر شيوعاً ومرئية. إصدار الرؤوس أنظف但是 أقل قابلية للاكتشاف. إصدار الاستعلام (مثل /users?version=1) يعمل للتغييرات الطفيفة لكنه قد يلوث عناوين URL.
كيف يجب أن أتعامل مع الترقيم في واجهة برمجة التطبيقات؟
استخدم الترقيم المبني على المؤشر لمجموعات البيانات الكبيرة والتمرير اللانهائي. استخدم الترقيم المبني على الإزاحة لأحجام الصفحات المعروفة. قم بتضمين العدد الإجمالي عندما يكون مفيداً ووفر روابط التالي/السابق في الاستجابة.
ما الفرق بين رموز الحالة 401 و403؟
401 Unauthorized يعني أن المصادقة مفقودة أو غير صالحة. 403 Forbidden تعني أن المصادقة صالحة لكن المستخدم يفتقر إلى الإذن للوصول إلى المورد المطلوب.
هل يجب أن أستخدم JWT أو المصادقة المبنية على الجلسات؟
JWT أفضل لواجهات برمجة التطبيقات عديمة الحالة والخدمات المصغرة. المصادقة المبنية على الجلسات تعمل جيداً للتطبيقات التقليدية المعروضة من الخادم. ضع في اعتبارك احتياجات التوسع وأنواع العملاء.
كيف أحمي واجهتي برمجة التطبيقات من الهجمات الشائعة؟
نفذ تقييد المعدل، وتحقق من صحة جميع المدخلات، واستخدم الاستعلامات ذات المعلمات، ونفذ فحوصات التفويض الصحيحة (BOLA)، وعطل التفكير في الإنتاج، واتبع إرشادات OWASP API Top 10.