У меня есть контроллер пружинный:Как установить POST JSON на контроллер пружины?
@RequestMapping(value = "/add", method = RequestMethod.POST,
consumes = "application/json")
public @ResponseBody ResponseDto<Job> add(User user) {
...
}
я могу отправить объект, как это с APACHE HTTP КЛИЕНТА:
HttpPost post = new HttpPost(url);
List nameValuePairs = new ArrayList();
nameValuePairs.add(new BasicNameValuePair("name", "xxx"));
post.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = client.execute(post);
В контроллере я пользователь с именем «ххх»
Теперь я хочу для создания объекта User и отправки его на сервер, Я попытался использовать с объектами GSON следующим образом:
User user = new User();
user.setName("yyy");
Gson gson = new Gson();
String json = gson.toJson(user);
HttpClient client = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
StringEntity entity = new StringEntity(json.toString(), HTTP.UTF_8);
entity.setContentType("application/json");
httpPost.setEntity(entity);
HttpResponse response = client.execute(httpPost);
Но таким образом я получаю на сервере объект пользователя с нулевыми полями ...
Как его решить?
Спасибо, я добавили @RequestBody и джексон и это работало ! Я также нашел этот http://stackoverflow.com/questions/13406362/default-json-to-object-mapping-not-working – prilia