JSON अनुरोध प्राप्त करने और इसे संसाधित करने का प्रयास करते समय मुझे निम्न त्रुटि मिल रही है:
org.codehaus.jackson.map.JsonMappingException: [उपयुक्त प्रकार, वर्ग com.myweb.ApplesDO] टाइप करने के लिए कोई उपयुक्त कंस्ट्रक्टर नहीं मिला: JSON ऑब्जेक्ट से तत्काल टाइप नहीं कर सकता (टाइप जानकारी को जोड़ने / सक्षम करने की आवश्यकता है?)
यहाँ JSON मैं भेजने की कोशिश कर रहा हूँ:
{
"applesDO" : [
{
"apple" : "Green Apple"
},
{
"apple" : "Red Apple"
}
]
}
नियंत्रक में, मेरे पास निम्नलिखित विधि हस्ताक्षर हैं:
@RequestMapping("showApples.do")
public String getApples(@RequestBody final AllApplesDO applesRequest){
// Method Code
}
AllApplesDO ApplesDO का एक आवरण है:
public class AllApplesDO {
private List<ApplesDO> applesDO;
public List<ApplesDO> getApplesDO() {
return applesDO;
}
public void setApplesDO(List<ApplesDO> applesDO) {
this.applesDO = applesDO;
}
}
ApplesDO:
public class ApplesDO {
private String apple;
public String getApple() {
return apple;
}
public void setApple(String appl) {
this.apple = apple;
}
public ApplesDO(CustomType custom){
//constructor Code
}
}
मुझे लगता है कि जैक्सन उपक्लास के लिए JSON को जावा ऑब्जेक्ट में बदलने में असमर्थ है। जैक्सन को जावा ऑब्जेक्ट में बदलने के लिए जैक्सन के लिए कॉन्फ़िगरेशन मापदंडों की मदद करें। मैं स्प्रिंग फ्रेमवर्क का उपयोग कर रहा हूं।
EDIT: उपरोक्त नमूना वर्ग में यह समस्या पैदा करने वाले प्रमुख बग को शामिल करें - कृपया समाधान के लिए स्वीकृत उत्तर देखें।