ऐशे ही:
Campaign:
type: object
properties:
id:
type: string
description: "A GUID identifier"
referenceId:
type: string
description: "A consumers identifier they have used to map their own systems logic to this object."
name:
type: string
description: "'Great Campaign 2017' as an example"
मैं संदर्भ के बारे में चिंतित हूँ ।
सिस्टम डोमेन एक ऐसा प्लेटफ़ॉर्म है जो डेटा निर्यात और विभिन्न प्रारूपों (xml, एक्सेल) के आयात के माध्यम से 3 तरह से 3 पार्टियों के साथ एकीकृत है। यह पर्याप्त परिपक्व है कि तीसरे पक्ष को एक एपीआई के माध्यम से हमारे सिस्टम के साथ एकीकृत करने की अनुमति दी जाए और इस एपीआई का डिजाइन इस प्रश्न का संकेत देता है।
हमारे पास एक ऑब्जेक्ट है, एक अभियान, जिसमें एक आईडी है जिसका उपयोग संसाधन को पहचानने और पुनः प्राप्त करने के लिए किया जा सकता है। हमारे एपीआई के उपभोक्ताओं का अपना संदर्भ कोड हो सकता है जिसे वे अपने डोमेन के भीतर एक अभियान मानते हैं।
हमारे सिस्टम में इस तरह के 3 पार्टी संदर्भ क्षेत्रों के साथ अन्य ऑब्जेक्ट हैं और यह हमारे मौजूदा उपभोक्ताओं से अपेक्षित है। हालाँकि, मुझे चिंता है कि यह हम पर मैपिंग का बोझ डालता है और हमें नहीं पता कि यह referenceId क्या है (नंबर, टेक्स्ट, json?) और यह नए उपभोक्ताओं के लिए API में एक और भ्रामक संपत्ति जोड़ता है।
क्या किसी API के लिए सार्वजनिक ऑब्जेक्ट परिभाषाओं में 3rd पार्टी संदर्भ आईडी फ़ील्ड की अनुमति देने के लिए इसे बुरा अभ्यास या खराब डिज़ाइन माना जाता है?