JSON API डेटा कॉन्ट्रैक्ट डिज़ाइन के मूल बिंदु
छह चीज़ें ऐसी हैं जिन्हें जारी होने के बाद बदलना बहुत कठिन है: प्रतिक्रिया एनवेलप, त्रुटि फ़ॉर्मेट, पेजिनेशन आकार, ID और समय का प्रतिनिधित्व, null बनाम अनुपस्थित का अर्थ, और वर्ज़न विकास।
JSON को वास्तविक सिस्टम में डालना: API कॉन्ट्रैक्ट कैसे परिभाषित करें, कॉन्फ़िगरेशन और fixtures को कैसे प्रबंधित करें, वर्ज़न संगतता कैसे संभालें, और परीक्षण डेटा कैसे बनाए रखें।
5 लेखछह चीज़ें ऐसी हैं जिन्हें जारी होने के बाद बदलना बहुत कठिन है: प्रतिक्रिया एनवेलप, त्रुटि फ़ॉर्मेट, पेजिनेशन आकार, ID और समय का प्रतिनिधित्व, null बनाम अनुपस्थित का अर्थ, और वर्ज़न विकास।
कॉन्फ़िगरेशन को परतों में और सत्यापित होना चाहिए; fixtures को निर्धारक, पठनीय, और diff-योग्य होना चाहिए। यदि इन दो प्रकार की फ़ाइलों को ख़राब तरीके से प्रबंधित किया जाए, तो समस्या-समाधान की लागत लंबे समय तक ऊँची रहती है।
पचास रिकॉर्ड पचपन हो जाते हैं और diff पचास बदलाव बताता है। टेक्स्ट-diff के ग़लत सकारात्मक, id से ऐरे मिलान, jq सामान्यीकरण और लागू करने योग्य पैच को कवर करता है।
merge=union टूटी JSON को गुज़ार देता है और फिर भी सफलता बताता है। यह JSON के लिए कुंजी-जागरूक three-way मर्ज ड्राइवर और कॉन्फ़्लिक्ट घटाने वाली तीन आदतों से गुज़रता है।
फ़ील्ड जोड़ना हमेशा स्वतः सुरक्षित नहीं होता। संगतता सीमाएँ, वर्ज़न फ़ील्ड, डेप्रीकेशन विंडो, dual-write माइग्रेशन, कॉन्ट्रैक्ट परीक्षण और canary मेट्रिक्स को कवर करता है।