نکات کلیدی طراحی قرارداد داده API در JSON
شش چیز پس از انتشار بسیار سخت تغییر میکنند: پاکت پاسخ، قالب خطا، شکل صفحهبندی، نمایش شناسه و زمان، معناشناسی null در برابر غایب، و تکامل نسخه.
قرار دادن JSON در سیستمهای واقعی: چگونه قرارداد API تعریف کنیم، چگونه پیکربندی و fixture را مدیریت کنیم، چگونه سازگاری نسخه را برخورد کنیم و چگونه داده آزمون را نگه داریم.
5 مقالهشش چیز پس از انتشار بسیار سخت تغییر میکنند: پاکت پاسخ، قالب خطا، شکل صفحهبندی، نمایش شناسه و زمان، معناشناسی null در برابر غایب، و تکامل نسخه.
پیکربندی باید لایهبندی و اعتبارسنجی شود؛ fixture باید قطعی، خوانا و قابل diff باشد. اگر این دو نوع فایل بد مدیریت شوند، هزینه عیبیابی مدت طولانی بالا میماند.
پنجاه رکورد به پنجاهویک میشود و diff پنجاهویک تغییر گزارش میکند. مثبت کاذب diff متنی، تطبیق آرایهها با id، نرمالسازی jq و patchهای قابل اعمال را پوشش میدهد.
merge=union JSON شکسته را عبور میدهد و همچنان موفقیت گزارش میکند. این مقاله یک merge driver سهطرفه آگاه به کلید برای JSON را مرور میکند، بهعلاوه سه عادت که تعارضها را کم میکند.
افزودن فیلد خودکار امن نیست. مرزهای سازگاری، فیلد نسخه، پنجره منسوخسازی، مهاجرت همزماننویسی، آزمون قرارداد و معیارهای canary را پوشش میدهد.