使用抽象类时指定@RequestBody的类型

时间:2013-02-14 20:23:52

标签: java spring spring-mvc

我有一个端点,我收到了一个抽象类:

@RequestMapping(value = URL, method = RequestMethod.POST)
@ResponseBody
public ModelMap update(@RequestBody SomeAbstractClass form) {
      ...
}

当我发帖时,我收到错误:

Could not read JSON: Can not construct instance of ..., 
problem: abstract types can only be instantiated with dditional type information

我理解为什么我收到此错误,但我无法弄清楚我将指定the additional type information的位置。理想情况下,我可以通过其中一个注释指定具体类的类型,但任何解决方案都可以满足此要求。

1 个答案:

答案 0 :(得分:2)

我相信你是杰森的JSON serailizer。

首先确保你有

 <context:annotation-config/> 

在你的spring xml conf文件中。

我曾经有同样的问题继承类的反序列化我通过注释来解决它

@JsonDeserialize(as=Child.class)
public abstract class AbstractParent { ... }
相关问题