У меня есть CRUD-контроллер в Spring MVC API.Spring MVC CRUD-контроллер с данными Ember
Это мой метод создания:
@Override
@JsonView(ApiView.FormView.class)
@RequestMapping(method = RequestMethod.POST, consumes = ApiMediaType.jsonContentType, produces = ApiMediaType.jsonContentType)
public ApiResponse create(@RequestBody @Valid Entity entity, BindingResult result) {
if (result.hasErrors()) return new ApiResponse(result.getAllErrors());
service.add(entity);
return new ApiResponse(entity);
}
Это работает хорошо.
Если я посылаю такие данные API, он работает
{
"email":"[email protected]",
"password":"secret!",
"firstName":"John",
"lastName":"Doe",
"title":"Mr."
}
Проблема заключается в том, что я использую Ember JS с Ember данных. Мой адаптер посылает эти данные:
{
"data":{
"attributes":{
"email":"[email protected]",
"firstName":"John",
"lastName":"Doe",
"title":"Mr.",
},
"type":"users"
}
}
Это не @Valid User form
, что мой UserController ожидает в методе объявляемых ниже:
public ApiResponse create(@RequestBody @Valid User form, BindingResult result) {}
Как я могу преобразовать данные, которые Ember является отправка объекту пользователя в мое приложение Spring?
Спасибо и извините за мой английский.