Как построить объекты и связанные объекты из запроса JSON, используя Spring - PullRequest
2 голосов
/ 01 января 2011

Я отправляю запрос JSON на контроллер Spring 3.0. Подпись метода ...

@RequestMapping(value="/add", method=RequestMethod.POST)
public @ResponseBody Map<String, ? extends Object> add(@RequestBody Entry)

JSON выглядит так ...

{"user":"1"}

Объект Entry имеет один атрибут типа Пользователь .

При отправке запроса выдается эта ошибка,

org.codehaus.jackson.map.JsonMappingException: Can not construct instance of com.x.y.z.Entry, problem: no suitable creator method found

Я предполагаю, что ошибка связана с тем, что user в записи имеет тип User, а не String (в JSON передается "1").

Есть ли способ взять входящую "1" и использовать ее для создания реального объекта пользователя (в данном случае, просматривая его в базе данных)?

1 Ответ

2 голосов
/ 02 января 2011

Есть ли у Entry конструктор без параметров?

Это ваше первое место, чтобы посмотреть. Обычно ошибки такого рода возникают из-за того, что код ищет конструктор без параметров для создания Entry.

Ваша идея, что создать пользователя как реального пользователя - это хорошо, но это должно быть сделано после вызова этого метода, на каком-то другом уровне или чем-то еще. Вы хотите, чтобы все было просто, не мешая сортировке JSON. Вы можете добавить к этому другой слой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...