हम वर्तमान में शास्त्रीय ग्राहक डेटा तक पहुंचने के लिए एक REST API डिज़ाइन कर रहे हैं। एपीआई में तत्वों में से एक उपयोगकर्ता की संपत्ति हैं। परिसंपत्तियाँ किसी दी गई सेवा के तहत जोड़ी जाती हैं। बैकएंड एपीआई किसी दी गई सेवा के तहत केवल उपयोगकर्ता के लिए एक संपत्ति जोड़ देगा। तो, कोई उपयोगकर्ता नहीं है - संपत्ति संबंध, लेकिन एक उपयोगकर्ता - [सेवा] - संपत्ति संबंध।
हमारा यूआरआई इस तरह दिखेगा:
/users/{id}/assets/{id}/services/{id}
एपीआई के उपयोग से नई प्रविष्टि बनाने के लिए संपत्ति आईडी और सेवा आईडी का पता चल जाएगा। हम जिस चीज से जूझ रहे हैं वह इस संबंध का निर्माण है।
एक सीधा तरीका यह होगा कि पूरे संबंध को पोस्ट किया जाए /users/{id}/assets/
POST /users/{id}/assets
{asset:${id}, service:{id}, attribute1:"{var}", attribute2:"{var}"}
लेकिन तब हम वास्तव में एक संपत्ति नहीं बना रहे हैं जैसा कि यूआरआई इंगित कर सकता है, लेकिन एक परिसंपत्ति-सेवा संबंध।
एक विकल्प के रूप में, हम URI के संबंध को POST'ing पर विचार कर रहे हैं, जो इस प्रकार है:
POST /users/{id}/assets/{id}/service/{id}
{attribute1:"{var}", attribute2:"{var}"}
लेकिन इस मामले में, संसाधन पथ /users/{id}/assets/{id}
POST से पहले मौजूद नहीं होगा और इसे साइड-इफ़ेक्ट के रूप में बनाया जाएगा।
क्या POST'ing एक संसाधन पथ है जो अभी तक मौजूद नहीं है?
आपके विचारों के लिए धन्यवाद,
जेरार्ड।