Spring-MVC Джексон не читает объект JSON из JQuery - PullRequest
0 голосов
/ 11 февраля 2012

Используя Джексона, я могу преобразовать объект в JSON

@RequestMapping(value="getMessage.test", headers = "Accept=application/json" ,method = RequestMethod.POST)
    public @ResponseBody TestObject getMessage(){
        TestObject object=new TestObject();
        object.setMessage("Hello JQuery");
        return object;
    }

Приведенный выше код работает хорошо ... Но преобразование из JSON в Object дает WARN PageNotFound - Не найден соответствующий метод обработчика для запроса сервлета: путь '/setMessage.test', метод 'POST', карта параметров [[ пусто]] Ниже приведен код. Где я иду не так ..

@RequestMapping(value="setMessage.test", method = RequestMethod.POST, headers = "Accept=application/json"  )
    public void setMessage(@RequestBody TestObject test,HttpServletRequest request){
        System.out.println("Inside setting message");
        System.out.println(test.getMessage());
    }

JQuery Ajax звонит ...

 $.ajaxSetup({   contentType: "application/json; charset=UTF-8" }); 

    $.post('getMessage.test',function(response) {  
        alert(response.message);
           }, 'json');  

    $.post( 'setMessage.test', {message: 'Hello Spring'});

1 Ответ

1 голос
/ 14 февраля 2012

Наконец я получил исправление.В методе JQuery $ .post есть ошибка, которая не устанавливает правильный тип содержимого.Так что установка contenttyple в ajaxsetup работает хорошо ... и я использовал jquery.json-2.3.min.js для создания объекта json .....

$.ajaxSetup({   
           contentType: "application/json; charset=UTF-8"
    }); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...