मुझे पर हैंडलर विधि के पैरामीटर पर @Valid
का उपयोग करने में कोई समस्या है। मेरे कोड इस तरह दिखता है:मैं स्प्रिंग एमवीसी के @RequestBody पैरामीटर के साथ @ वैलिड का उपयोग कैसे करूं?
@RequestMapping(value=BIBBLE_BOBBLE_URI_PATTERN + "/widgets", method=RequestMethod.POST)
@ResponseBody
@ResponseStatus(HttpStatus.CREATED)
public Widget saveNewWidget(
@PathVariable final String username,
@PathVariable final String bibbleBobbleName,
@Valid @RequestBody final Widget widget,
final BindingResult results,
final HttpServletRequest request,
final HttpServletResponse response)
जहां Widget
मेरे डोमेन वस्तुओं में से एक के लिए वर्ग है। मैं @RequestBody
एनोटेशन का उपयोग कर रहा हूं यह इंगित करने के लिए कि अनुरोध का पेल widget
पर है (मेरे परीक्षणों में, अनुरोध JSON हैं, हालांकि जैक्सन मेरे क्लासपाथ पर है इसलिए मैं एक्सएमएल का उपयोग भी कर सकता हूं)।
आप देख सकते हैं, BindingResult
पैरामीटर Widget
पैरामीटर के बाद सीधे इस प्रकार है, लेकिन मैं निम्नलिखित त्रुटि मिलती है:
java.lang.IllegalStateException: Errors/BindingResult argument declared without preceding model attribute. Check your handler method signature!
कैसे मैं एक @RequestBody
पैरामीटर के लिए @Valid
एनोटेशन लागू होते हैं और उसके बाद परिणाम प्राप्त?
पीएस मैं नियंत्रकों को तारों को संभालने के लिए annotation-driven
का उपयोग कर रहा हूं, सामग्री-बातचीत करता हूं, आदि
मैं यह सब अभी भी सीख रहा हूं, ** लेकिन **, विशेषता '_ModelAttribute ("xyz") विजेट विजेट नामकरण करने का प्रयास करें। –
@DecaniBass यह उस समस्या का समाधान करेगा जो किसी भी डेटा को बाध्यकारी नहीं करता है जिसे मैंने @ शिल्पकार के उत्तर पर मेरी टिप्पणी में उल्लेख किया है? –
मुझे यह एक पुराना पोस्ट पता है, लेकिन क्या यह आपके लिए काम कर रहा है? मैं वसंत 3.2 का उपयोग कर रहा हूँ। बाध्यकारी काम, लेकिन @Valid नहीं। प्रश्न यहां पोस्ट किया गया [http://stackoverflow.com/q/16174990/668650] –