2009-11-17 12 views
5

मेरे पास क्लाइंट-साइड इंटरफ़ेस है जो उपयोगकर्ता को पेड़ जैसी रूपरेखा के विरुद्ध कई संपादन करने की अनुमति देता है। मैं कुल रूप से, एक ही संसाधन (/ रूपरेखा/3 9) की रूपरेखा बनाने के रिकॉर्ड की कुल संख्या पर विचार करता हूं, भले ही इसके हिस्सों को विभिन्न यूआरएल के माध्यम से अलग संसाधनों के रूप में एक्सेस किया जा सके।आरईएसटी के माध्यम से एक संरचित संसाधन को अद्यतन करने के लिए सबसे अच्छा अभ्यास?

समस्या यह है कि उपयोगकर्ता रूपरेखा में मौजूदा नोड्स को संपादित कर सकते हैं और रूपरेखा में नए नोड्स जोड़ सकते हैं। आम तौर पर, जब आप कुछ संपादित करते हैं तो आप इसके परिवर्तन डालते हैं और जब आप कुछ नया जोड़ते हैं तो आप इसे पोस्ट करते हैं; हालांकि, कुछ मामलों में आप एक ही लेनदेन में - सभी जोड़ों और संपादन सहित सभी परिवर्तनों को लपेटना चाहेंगे। लोगों ने इसे संभालने के कुछ व्यावहारिक तरीकों क्या हैं?

भले ही रूपरेखा पहले से मौजूद है और एक पुट उचित लगता है, एम्बेडेड जोड़ों ने पुट की बेवकूफता का उल्लंघन किया है। मुझे यकीन नहीं है कि पोस्ट या तो उचित लगता है। डिजाइन उद्देश्यों के लिए, मैंने तय किया है कि उपयोगकर्ता द्वारा किए गए प्रत्येक अलग-अलग अद्यतन को सहेजने के लिए नहीं, हालांकि मुझे लगता है कि यह एक समाधान प्रदान करता है। फिर भी, ऐसे लोग होंगे जिन्होंने मेरे मुद्दे का सामना किया है या इसके बारे में विचार हैं।

उत्तर

1

क्या कोई तरीका है जिससे आप add idppotent बना सकते हैं? जैसे अगर नोड्स की प्राकृतिक कुंजी होती है, तो जब क्लाइंट ने दूसरी बार नोड जोड़ने की कोशिश की तो आप कुछ भी नहीं कर सकते थे।

+0

कोई प्राकृतिक कुंजी करने के लिए है, लेकिन यह मेरे विचार करने के लिए नेतृत्व कि सर्वर (या ग्राहक) कर सकता है जब मैं नए नोड्स बनाते हैं तो अस्थायी मार्गदर्शिकाएं निकाल दें। इस तरह एक रिकॉर्ड इसकी आईडी और गाइड द्वारा पहचान योग्य होगा। ग्रिड का उपयोग करके, यदि उपयोगकर्ता पूरे लेनदेन को करने में विफल रहता है तो मैं उपभोग करने वाले आईडी को समाप्त नहीं करता हूं। उस नोट पर, यह एक पहचान बीज के बजाय पीके के रूप में एक गाइड का उपयोग करने का सवाल पूछता है। इसे कुछ सोचा होगा। धन्यवाद। – Mario

+0

दिलचस्प! मैं खुशी से मदद कर सकता है। –

+0

आगे की जांच के बाद मैंने फैसला किया है कि यदि आप पूरी तरह से संसाधन को पट कर रहे हैं तो PUT केवल सही है। चूंकि मैं केवल डेल्टा (जोड़ा/अपडेट/हटाए गए नोड्स) को वापस खींच रहा हूं, मुझे लगता है कि यह आपके लेनदेन उप-संसाधन सुझाव के समान, एक उप-संसाधन URL पर वापस डेल्टा को समझने में अधिक समझ में आता है। मैंने अभी तक विवरण नहीं किया है। – Mario

0

कैसे: एक नया संसाधन बनाएं:/रूपरेखा/39/लेनदेन, और उस संसाधन को अपने लेनदेन को पोस्ट करें, उदा।

पोस्ट "addNode = node1, addNode = node2, editNode = node3, NewName = foobar"/रूपरेखा/39/लेनदेन

संबंधित मुद्दे