انتقل إلى المحتوى
أمين أبوزيد
درس مخطط لهJNR-020-L05

استراتيجيات الإصدارات (Versioning)

  • الدرس 5 من 6
  • Junior
في هذا الدرس 4 موضوعات

هذا الدرس مخطط له. يعرض المخطط أدناه الموضوعات التي سيغطيها، ولم يُنشر الدرس الكامل بعد.

نص الدروس والتمارين باللغة الإنجليزية، بينما تبقى واجهة الموقع وعناوين الدروس بالعربية.

في هذا الدرس

compare ways to evolve an API without breaking clients.

الموضوعات المخطط لها

  • A breaking change (removing or renaming a field, changing meaning) breaks existing clients.
  • URL versioning: /v1/products. Visible and simple; the most common.
  • Header versioning: a custom header such as X-API-Version: 2. Clean URLs, but harder to test in a browser.
  • Media-type versioning: Accept: application/vnd.shop.v2+json. Precise, but more complex.
  • Adding optional fields is not breaking. Choose one strategy and use it everywhere.
تفاصيل المخطط المبدئي

عرض عملي

StrategyExampleTrade-off
URL/v2/productsSimple, visible
HeaderX-API-Version: 2Clean URLs
Media typeAccept: ...v2+jsonPrecise, complex

اختبر فهمك

Is adding an optional response field a breaking change?

أظهر الإجابة

No.

التطبيق

طبّق هذا الدرس بمختبر الوحدة وتمارينها واختبارها.

المختبر والتمارين الاختبار

تعليم الدرس كمكتمل اختياري ويمكنك التراجع عنه في أي وقت. يبقى تقدمك محفوظًا في هذا المتصفح.

اكتب للبحث في المستويات والمراحل والوحدات والدروس.