1

抽象クラスを受け取ったエンドポイントがあります:

@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 つを介して具体的なクラスの型を指定できますが、この時点ではどのような解決策でも十分です。

4

1 に答える 1

2

Jackson を JSON セライライザーとして使用していると思います。

まず第一に、あなたが持っていることを確認してください

 <context:annotation-config/> 

spring xml conf ファイルで。

私は同じ問題を抱えていました 継承されたクラスの逆シリアル化 注釈を付けることで解決しました

@JsonDeserialize(as=Child.class)
public abstract class AbstractParent { ... }
于 2013-02-14T22:13:29.270 に答える