json を抽象型に逆シリアル化しようとすると、エラーが発生します。
コード:
@JsonTypeInfo(use=JsonTypeInfo.Id.CLASS, include=JsonTypeInfo.As.PROPERTY, property="@class")
public abstract class Animal
{
}
public class Dog extends Animal
{
}
public class Zoo
{
Animal a;
}
@RequestMapping(value = "/zoos", method = RequestMethod.POST)
public void create(@RequestBody Zoo zoo)
{
...
}
次のjsonを動物園に投稿すると:
{
"@class": "com.example.Dog",
"a": {}
}
次のエラーが表示されます: org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "@class" (Class com.example.Zoo), not marked as ignorable
私は何を間違っていますか?