2016-03-18 2 views
0

Я учусь передать объект JSON через ajax в контроллер Spring.Публикация JSON на контроллер весны

нашел статью, которая, кажется, объяснить, как его сделали: http://hmkcode.com/spring-mvc-json-json-to-java/

С этого момента я добавил @RequestMapping к контроллеру:

@RequestMapping(value = "/get-user-list", method = RequestMethod.POST) 
    public @ResponseBody String testPost(@RequestBody ResourceNumberJson resourceNumberDtoJson) { 
     System.out.println(">>>>>>>>>>>>>>>>>>>>>> I AM CALLED"); 
     return "111"; 
    } 

Тогда я формируя свой АЯКС пост:

var json = { 
    "login" : "login", 
    "resource_number" : "111", 
    "identifier" : "1111", 
    "registrator_number" : "11111111111111" 
}; 
console.log(JSON.stringify(json)); 
$.ajax({ 
    type : "POST", 
    url : "/get-user-list", 
    dataType : "text", 
    data : JSON.stringify(json), 
    contentType : 'application/json; charset=utf-8', 
    mimeType: 'application/json', 
    success: function(data) { 
      alert(data.id + " " + data.name); 
     }, 
    error:function(data,status,er) { 
      alert("error: "+data+" status: "+status+" er:"+er); 
    } 

}); 

, который запущен со страницы «получить список пользователей».

Когда я пытаюсь запустить это, я получаю ошибку HTTP 415. Spring 4, Jackson 2.4

Не могу понять, что я делаю неправильно.

ответ

1

HTTP 415 означает, что тип носителя не поддерживается.

Попробуйте изменить @RequestMapping аннотацию

@RequestMapping(value = "/get-user-list", 
       method = RequestMethod.POST, 
       consumes="application/json") 

Вы должны также рассмотреть вопрос о тестировании REST-сервис с клиентом, как RESTClient, Почтальон или даже Curl, чтобы убедиться, что он работает правильно, прежде чем приступить к реализации Jquery клиент.

+0

Спасибо за ответ. Я обязательно посмотрю на RESTClient. Думаю, я нашел свою проблему - я пропустил косую черту перед URL (я думаю). –

+0

Хорошо, но это вряд ли является причиной для HTTP/415. – Oli

+0

URL-адрес оказался «root/get-user-list» вместо «root/users .../get-user-list». Думаю, я перейду в политику другого. –

Смежные вопросы