@InitBinder を Backbone.js で動作させるのに問題があります
@InitBinder
public final void initBinder(final WebDataBinder binder) {
// Customer property editors
binder.registerCustomEditor(MyObjectChild.class, new MyObjectChildEditor());
}
オブジェクトを受け入れるこのようなコントローラーがあります
@RequestMapping(
produces = MediaType.APPLICATION_JSON_VALUE,
consumes = MediaType.APPLICATION_JSON_VALUE,
method = RequestMethod.POST)
@ResponseBody
@ResponseStatus(value = HttpStatus.CREATED)
public final String create(@RequestBody final MyObject myobject) {
return "worked";
}
MyObject には MyObjectChild 型のプロパティがあります。このオブジェクトの ID 値をフロントエンドからコントローラーに渡したいと思います。これは、ユーザーが変更できるようにする (ドロップダウン リストから選択する) ことは意味がないためです。
@RequestBody が @InitBinder で機能しないことを読んだので、代わりに @ModelAttribute を試しましたが、Backbone.js を使用して JavaScript のフロントエンドで作成されるため、@ModelAttribute の名前がどうなるかわかりません。
Backbone.js を Spring @InitBinder と連携させるにはどうすればよいですか?