استراتيجيات الإصدارات (Versioning)
في هذا الدرس 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.
تفاصيل المخطط المبدئي
عرض عملي
| Strategy | Example | Trade-off |
|---|---|---|
| URL | /v2/products | Simple, visible |
| Header | X-API-Version: 2 | Clean URLs |
| Media type | Accept: ...v2+json | Precise, complex |
اختبر فهمك
Is adding an optional response field a breaking change?
أظهر الإجابة
No.
التطبيق
طبّق هذا الدرس بمختبر الوحدة وتمارينها واختبارها.
تعليم الدرس كمكتمل اختياري ويمكنك التراجع عنه في أي وقت. يبقى تقدمك محفوظًا في هذا المتصفح.