Я использую Spring MVC и AngularJs для создания веб-приложения. Я отправляю запрос на сервер, но получаю 400 error bad request
. Я настраиваю конвертер сообщений для json-формата в файле конфигурации сервлета Spring. Мне интересно, почему я получаю эту ошибку.Почему я получаю 400 плохих запросов с помощью сообщения AngularJs?
Вот мой угловой сервис:
save : function(user) {
return $http({
method: 'POST',
url: '/app-web/user/create',
contentType: "application/json",
data:user
});
}
А на стороне сервера У меня есть MVC контроллер Spring, как описано ниже:
@RequestMapping(value="/user/create", method= RequestMethod.POST)
@ResponseBody
public String createAccount(@RequestBody User user){
//some logic
return "Ok";
}
я заметил кое-что еще: когда я удалить @RequestBody
в контроллер у меня нет ошибки 400, но пользователь null
:
@RequestMapping(value="/user/create", method= RequestMethod.POST)
@ResponseBody
public String createAccount(User user){
//some logic
return "Ok";
}
Имеет ли объект «пользователь», который вы передаете, имеет значение или он равен нулю? – Losbear
Я не могу дотянуться до контроллера Spring MVC. В контроллере Angularjs пользователь имеет значение – Pracede
Если вы используете Chrome или IE и откройте инструменты разработчика (F12) и поместите контрольную точку в строку «save: function (user) {". Запустите его, и когда код попадает в точку останова, наведите указатель мыши на «пользователь». появляется всплывающая подсказка со значением элемента, над которым вы нависаете. Говорит ли оно, что это нулевое значение или оно имеет ценность? Еще одна вещь, которую стоит попробовать - это посмотреть на точный URL-адрес, к которому он пытается получить доступ (опять же, используя инструменты разработчика). Точный URL-адрес, который он пытается получить, может отличаться от ожидаемого. – Losbear