मैं अपने सरल स्प्रिंग एमवीसी बैकएंड में एसिंक्रोनस कॉल करने के लिए jQuery के $.getJSON()
का उपयोग कर रहा हूं। स्प्रिंग नियंत्रक तरीकों में से अधिकांश इस तरह दिखेगा:क्या वसंत एमवीसी नियंत्रक विधि मूल्य वापस नहीं करता है वापस क्या करना है?
@RequestMapping(value = "/someURL", method = RequestMethod.POST)
public @ResponseBody SomePOJO getSomeData(@ModelAttribute Widget widget,
@RequestParam("type") String type) {
return someDAO.getSomeData(widget, type);
}
मैं चीजों की स्थापना की ताकि प्रत्येक नियंत्रक JSON के रूप में @ResponseBody
देता है, वह राशि है जो क्लाइंट साइड की उम्मीद है।
लेकिन क्या होता है जब कोई अनुरोध क्लाइंट-साइड पर कोई सामग्री वापस नहीं करना चाहिए? क्या मेरे पास हो सकता है:
@RequestMapping(value = "/updateSomeData" method = RequestMethod.POST)
public @ResponseBody void updateDataThatDoesntRequireClientToBeNotified(...) {
...
}
यदि नहीं, तो यहां उपयोग करने के लिए उचित वाक्यविन्यास क्या है? अग्रिम में धन्यवाद!
मुझे लगता है कि अगर आप कुछ भी वापस नहीं करते हैं, तो कोई सामग्री वापस नहीं भेजी जाएगी? – arahant
मुझे लगता है कि मैं अभी भी किसी प्रकार का POJO वापस कर दूंगा, भले ही आपके समाधान के संस्करण 1 में यह केवल "सफलता" बूलियन या कुछ इसी तरह से लपेटता है। फिर आपके पास अपने सभी AJAX तरीकों में एक सतत पैटर्न है, और कुछ ऐसा जो कि जब यह निकलता है तो इसे बनाने में आसान होता है * आपको * कुछ वापस करने की आवश्यकता होती है! – millhouse
उत्तर क्या सुझाव हैं इसके विपरीत, आपके पहले स्निपेट में जो आपने पहले किया था वह बिल्कुल ठीक है और 'POST' डेटा को संभालने का सही तरीका है। –