2012-10-12 13 views
5

नियंत्रक हस्ताक्षर (मैं requestbody के रूप में की कोशिश की है और साथ ही):पोस्ट json MVC नियंत्रक वसंत के

@RequestMapping(value = "/Lame", method = RequestMethod.POST) 
public 
@ResponseBody 
boolean getLame(@RequestParam String strToMatchA, @RequestParam String strToMatchB) {} 

और ये मेरे json के रूप में:

{ 
"strToMatchA": "EN", 
"strToMatchB": "lon" 
} 

काम नहीं, मैं त्रुटि प्राप्त:

org.springframework.web.bind.MissingServletRequestParameterException: Required String parameter 'strToMatchA' is not present 

विधि हस्ताक्षर से इस पहले पैरामीटर को हटाने के बाद यह काम करता है (विधि सही ढंग से कहा जाता है), मुझे क्या होना चाहिए ओंग?

java.io.IOException: Stream closed 
+0

क्या आपने डीबगिंग सक्षम करने के साथ संकलित किया था? अन्यथा, आपके पैरामीटर नाम उपलब्ध नहीं होंगे। –

+0

@ डेविड ग्रिंट RequestParam विधि हस्ताक्षर में परिभाषित पैरामीटर नाम ले जाएगा। लेकिन मैंने मैन्युअल रूप से नाम भी निर्दिष्ट करने की कोशिश की है – NimChimpsky

+1

ऑब्जेक्ट-मैपिंग के लिए आप कौन सी लाइब्रेरी का उपयोग कर रहे हैं? क्या यह जैक्सन या कुछ और है? क्या यह कक्षा में है? इसके अतिरिक्त, RESTFUL नियंत्रकों के लिए अनुरोध विधि मूल रूप से 'POST' के बजाय 'GET' होनी चाहिए। – Lion

उत्तर

3

आपका json ठीक है पर नहीं नियंत्रक हस्ताक्षर:

जब मैं विधि पैरामीटर बदल @RequestBody मैं निम्नलिखित त्रुटि मिलती है साथ एनोटेट किया जाना है। जेसन से मेल खाने वाले सेटर्स के साथ एक कक्षा बनाएं। इसे अपने तारों के बजाय तर्क के रूप में प्रयोग करें। अनुरोधकर्ता के साथ टिप्पणी करें। यह काम करना चाहिए।

+2

कोई दूसरा रास्ता नहीं है? मैं वसंत coul dhandle बहु अनुरोध अनुरोध paramters माना जाता है? – NimChimpsky

+0

यह आपके पास अनुरोध पैरामीटर नहीं है जो आपके पास है – eugen

+0

अनुरोध का निकाय मैंने दोनों एनोशन के साथ प्रयास किया है। न तो काम कर रहा है। मैं दो विधि पैरामीटर का उपयोग कर इसे कैसे कर सकता हूं ...? – NimChimpsky

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