Documentation ·وثائق
إرشادات تصميم الواجهات

فحص تعريف الواجهة

شغّل مجموعة قواعد API360 لـ Spectral على ملف OpenAPI: الملفان الشخصيان وسطر الأوامر ومهمة خط البناء المشتركة وقائمة الاستثناءات المؤرَّخة.

اقرأ هذه الصفحة بـ English

في هذه الصفحة

نظرة سريعة#

الإرشادات مجموعة قواعد Spectral باسم @api360/spectral-ruleset. تمتد من قواعد spectral:oas القياسية وتضيف القواعد المسمّاة في الصفحات الأخرى من هذا القسم.

الملف الشخصيلمنالفروق
vendor (المزوّد)واجهة منتج ينشرها مزوّدالإصدار الرئيسي في المسار؛ وتوثّق طلبات POST المنشئة Idempotency-Key؛ ويُفحص متغيّر المسار كتلميح
platformتعريفات النطاقات الثلاثة عشر في المنصةبلا جزء إصدار؛ وبلا قواعد التكرار الآمن؛ ولا يُفحص متغيّر المسار

ينتهي التشغيل بالرمز 0 حين تكون كل ملاحظة دون شدة الإفشال (warn افتراضياً) أو مشمولة بقائمة الاستثناءات، وبالرمز 1 فيما عدا ذلك.

شغّلها#

npm install @api360/spectral-ruleset
npx api360-spectral --profile vendor openapi/product.yaml
npx api360-spectral --profile platform --exclude index.json --report-dir spectral-report openapi/domains

يطبع الأمر الملاحظات لكل تعريف ولكل قاعدة، ويكتب summary.md وsummary.json وfindings.json في مجلد التقرير. الخيار --fail-severity error يمرّر التحذيرات؛ والخيار --no-allowlist يُظهر كل شيء.

تأتي الحزمة من سجل حزم GitLab لمجموعة api360-ai. وجّه النطاق @api360 إليه في .npmrc:

@api360:registry=https://gitlab.com/api/v4/projects/84641482/packages/npm/

في خط البناء#

المستودع الذي فيه ملفات OpenAPI يضمّن المهمة المشتركة، وهي تحمل مجموعة القواعد بداخلها ولا تحتاج سجلاً:

include:
  - project: 'api360-ai/pipeline-orchestrator'
    ref: main
    file: 'ci-templates/spectral-lint.gitlab-ci.yml'
variables:
  SPECTRAL_PROFILE: vendor
  SPECTRAL_PATHS: openapi

تعمل المهمة في خطوط طلبات الدمج، وتفشل عند ملاحظة لا تشملها قائمة الاستثناءات، وتحفظ التقرير كملف ناتج.

قائمة الاستثناءات#

الملاحظة التي لا يستطيع التعريف إصلاحها بعد تدخل قائمة استثناءات مؤرَّخة، لا تجاهلاً شاملاً. يسمّي كل بند القاعدة والسبب والتغيير الذي يغلقه وتاريخ المراجعة وعدداً لكل تعريف. ملاحظة واحدة فوق العدد تُفشل التشغيل، وبند تجاوز تاريخ مراجعته يُفشله أيضاً، فيعني «نظيف» أن كل ملاحظة متبقية مكتوبة ولها مسؤول.

تتحقق منه#

عائلة القواعدالقواعد
التسميةapi360-property-snake-case وapi360-query-param-snake-case وapi360-path-param-snake-case وapi360-enum-value-case وapi360-path-kebab-case
الأخطاءapi360-error-envelope-schema وapi360-error-responses-declared
الترقيمapi360-pagination-params وapi360-pagination-response
التكرار الآمنapi360-idempotency-key-header وapi360-idempotency-responses
الإصداراتapi360-version-info وapi360-version-in-path وapi360-platform-unversioned-paths
الإيقافapi360-deprecation-headers
الأمانapi360-operation-security وapi360-no-apikey-in-query

انظر أيضاً#

هل كانت هذه الصفحة مفيدة؟
آخر تحديث 2026-10-17