Я отправляю список объектов json и пытаюсь десериализовать его в контроллере Spring. Но все время я получаю ошибку «Плохой запрос» и результаты в код состояния 415. Однако мой массив json является допустимым.Deserializing json array в Spring MVC controller
является JSON -
{ "пользователи": [{ "Username": "Джон", "электронная почта": "[email protected]", "user_id": " u223344" }, { "Username": "Смит", "электронная почта": "[email protected]", "user_id": "u223345" } ] }
Ajax вызова заключается в следующем -
$.ajax({
url: $("#addNewUser").attr("action"),
data: JSON.stringify({users : dataToSend}),
dataType: 'json',
type: "POST",
beforeSend: function(xhr) {
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Content-Type", "application/json");
},
success: function(data){
alert('success= ' + data);
},
error:function(data,status,er) {
alert("error: "+ data.responseText +" status: "+status+" er:"+er);
}
});
Классы обертки следующие. Пользователь и UserWrapper класс -
public class User {
private String email;
private String userName;
private String user_id;
//getters and setters
}
public class UserWrapper {
private List<User> userList;
//getter and setter
}
И, наконец, весной MVC контроллер -
@RequestMapping(value="/user/add", method=RequestMethod.POST,
produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public void createTeamMember(@RequestBody UserWrapper userWrapper) {
try{
for(User user : userWrapper.getUserList()){
System.out.println(user.getEmail());
}
}catch(Exception ex){
ex.printStackTrace();
}
}
Я добавил зависимость для ДЖЕКСОНА-ядра и jackson-mapper в pom.xml. И я использую Spring 4.0.3. Любая помощь приветствуется.
Какая полная ошибка на стороне сервера? – sidgate
Можете ли вы проверить сетевой запрос и убедитесь, что установлен тип контента – kamoor
Вы пытаетесь добавить пользователя в контроллер задачи добавления. Вы уверены, что используете правильный метод контроллера? – shazin