Jacksonを使用してJavascriptで投稿されたハッシュのJSON配列(タグ)をマッピングする際に問題が発生しました。
コントローラ@RequestBodyが受信したデータは次のとおりです(正しいjson requestheaderで送信されます)。
[{name=tag1}, {name=tag2}, {name=tag3}]
コントローラは次のとおりです。
@RequestMapping(value = "purchases/{purchaseId}/tags", method = RequestMethod.POST, params = "manyTags")
@ResponseStatus(HttpStatus.CREATED)
public void createAll(@PathVariable("purchaseId") final Long purchaseId, @RequestBody final List<Tag> entities)
{
Purchase purchase = purchaseService.getById(purchaseId);
Set<Tag> tags = purchase.getTags();
purchaseService.updatePurchase(purchase);
}
'entities'値をデバッグして表示すると、予想されるようにタイプ'Tag'のオブジェクトのリストとしてではなく、ジェネリックオブジェクトのArrayListとして表示されます。
渡されたオブジェクトの配列をタイプ「タグ」のオブジェクトのリストにマップするようにジャクソンを取得するにはどうすればよいですか?
ありがとう