ฉันได้รับข้อผิดพลาดต่อไปนี้เมื่อพยายามรับคำขอ 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
}
}
ฉันคิดว่า Jackson ไม่สามารถแปลง JSON เป็นวัตถุ Java สำหรับคลาสย่อย โปรดช่วยด้วยพารามิเตอร์การกำหนดค่าสำหรับแจ็คสันในการแปลง JSON เป็น Java Objects ฉันกำลังใช้ Spring Framework
แก้ไข: รวมข้อผิดพลาดที่สำคัญที่ทำให้เกิดปัญหานี้ในคลาสตัวอย่างข้างต้น - โปรดดูคำตอบที่ได้รับการยอมรับสำหรับการแก้ปัญหา