Я получаю следующую ошибку при попытке получить 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 в объекты Java для подклассов. Пожалуйста, помогите с параметрами конфигурации для Джексона для преобразования JSON в объекты Java. Я использую Spring Framework.
РЕДАКТИРОВАТЬ: Включена основная ошибка, которая вызывает эту проблему в приведенном выше примере класса - Пожалуйста, посмотрите принятый ответ для решения.