मैं कहूंगा कि एक आरईएसटी बैकएंड बनाएं। मेरे पिछले प्रोजेक्ट में हमने पहले कुछ महीनों के लिए जीडब्ल्यूटी-आरपीसी का उपयोग करके विकास करना शुरू किया, हम तेजी से बूटस्ट्रैपिंग चाहते थे। बाद में, जब हमें आरईएसटी एपीआई की आवश्यकता थी, तो हम दो बैकएंड एपीआई (आरईएसटी और आरपीसी)
के साथ समाप्त होने वाले रिफैक्टरिंग के लिए इतना महंगा था, यदि आप उचित आरईएसटी बैकएंड बनाते हैं, और ग्राहक पक्ष पर एक deserialization infra (जेसन \ xml को जीडब्ल्यूटी जावा ऑब्जेक्ट्स में बदलने के लिए) तो आरपीसी का लाभ लगभग कुछ भी नहीं है।
आरईएसटी दृष्टिकोण का एक और कभी-कभी भूल गया लाभ यह है कि क्लाइंट चलाने वाले ब्राउज़र के लिए यह अधिक स्वाभाविक है, आरपीसी एक प्रोपेटेटरी प्रोटोकॉल है, जहां सभी अनुरोध पोस्ट का उपयोग कर रहे हैं। मानक तरीके से संसाधनों को पढ़ते समय आप क्लाइंट साइड कैशिंग से लाभ उठा सकते हैं।
उत्तर देना एम्स की टिप्पणियां: RPC प्रोटोकॉल के बारे में, पिछली बार मैं "सूंघा" यह फ़ायरबग का उपयोग कर इसे json की तरह नहीं था, इसलिए मुझे लगता है कि के बारे में पता नहीं है।हालांकि, यहां तक कि यदि यह जेसन आधारित है, फिर भी यह सर्वर के साथ संवाद करने के लिए केवल HTTP POST विधि का उपयोग करता है, इसलिए कैशिंग के बारे में मेरा बिंदु अभी भी मान्य है, ब्राउज़र POST अनुरोधों को कैश नहीं करेगा।
पूर्वदर्शी के संबंध में और क्या बेहतर हो सकता है, संसाधन उन्मुख आर्किटेक्चर में आरपीसी सेवा लिखना बाद में आरईएसटी को आसान पोर्टिंग कर सकता है। याद रखें कि आरईएसटी में आमतौर पर बुनियादी सीआरयूडी संचालन के साथ संसाधनों का खुलासा होता है, यदि आप आरपीसी सेवा लिखते समय उस दृष्टिकोण पर ध्यान केंद्रित करते हैं तो आपको ठीक होना चाहिए।
कुछ अतिरिक्त स्पष्टीकरण: 1) हो सकता है कि मैं इस एप्लिकेशन के लिए अन्य फ्रंट सिरों को लेना चाहूंगा, तो कीवर्ड में जीडब्ल्यूटी-आरपीसी के साथ आर्किटेक्ट चीजों के लिए एक डिज़ाइन पैटर्न हो सकता है जिससे कि एक आरईएसटी इंटरफ़ेस परत को कार्यान्वित किया जा सके। भविष्य में भारी रिफैक्टरिंग की आवश्यकता नहीं है? – ams