クラス階層があります。その上に抽象 AnswerUnit クラスがあります。OpenQuestionAnswer と MultipleChoiceQuestionAnswer の 2 つの継承クラスがあります。
データ (JSON にシリアル化されたオブジェクト) をサーバーに送信する .jsp フォームがあり、AJAX 要求とそれを処理するコントローラーのメソッドがあります。
@RequestMapping(value = "/test", method = RequestMethod.POST)
public @ResponseBody
String testPostMethod(@RequestBody
OpenQuestionAnswer answer) {
return "home";
}
「AnswerUnit回答」を引数として取りたいと思います(具象型ではなく抽象型なので、1つのメソッドでさまざまなビューからのリクエストを処理できます)。私がそれをやろうとすると問題があります - サーバーの応答は
400 BAD REQUEST he request sent by the client was syntactically incorrect.
その理由は、Spring (Jackson?) がどの具象クラスを作成して使用すべきかを判断できないためだと思います。クライアント側では、サーバーに送信するクラスのタイプを知っています。どの具体的なクラスを作成してリクエストを入力する必要があるかをサーバーに伝える適切な方法は何ですか?