2016-09-02 2 views
0

Я сделал весну Crud, я отправляю данные формы через почтовый метод, он отлично работает. мой код контроллера:Доступ к JSON на сервере с использованием @ModelAttribute («myobject») на основе весны

@RequestMapping(value = "/submitobject", method = RequestMethod.POST) 
public String saveOrUpdateHrEmployee(@ModelAttribute("myObjectForm") @Validated MyObject myObject, 
     BindingResult result, Model model, final RedirectAttributes redirectAttributes) 

{ 
. 
. 
.  
} 

Но теперь я хочу, чтобы отправить данные формы в формате JSON, но он не работает. Что мне делать. Я новичок в весне и не могу понять, как это делает объект моего класса бобов и получения данных из параметров. Нужна помощь, пожалуйста, Заранее спасибо.

+0

Пожалуйста, покажите код, который не работает, ожидаемое поведение и фактическое – YakovL

ответ

1
@RequestMapping(value = "/submitobject", method = RequestMethod.POST,produces = "application/json") 
@ResponseBody 
public MyObject saveOrUpdateHrEmployee(@RequestBody @Validated MyObject myObject, 
    BindingResult result, Model model, final RedirectAttributes redirectAttributes) 

{ 
. 
. 
.  
} 

Приведенный выше код будет work.Let мне знать для любого issues.Spring @RequestBody будет конвертировать MyObject в формате JSON.

Самый простой способ для моего понимания состоит в том, что @ModelAttribute примет строку запроса. поэтому все данные передаются на сервер через URL-адрес.

Что касается @RequestBody, все данные будут переданы серверу через полный корпус JSON.

+0

Примите ответ, если он будет работать. – VelNaga

+0

VelNaga его не работает. ошибка генерации org.springframework.validation.BeanPropertyBindingResult –

+0

Не удалось удалить, @ Validated & BindingResult из вашего метода и проверить, работает ли он или нет? Тем временем, какую версию Spring вы используете? – VelNaga

1

Прежде всего, необходимо проверить, что вы должны иметь согласование свойств между вами JSon строками и ваш класс POJO затем использовать ниже код с requestbody

@RequestMapping(value = "/submitobject", method = RequestMethod.POST) 

    public String saveOrUpdateHrEmployee(@ModelAttribute("myObjectForm") @RequestBody MyObject myObject, 
      BindingResult result, Model model, final RedirectAttributes redirectAttributes) 

    { 
    . 
    . 
    .  
    } 
более

вещи, чтобы быть заносить вашу проверку связывание исключения может быть потому, что проблемы с проверкой попробуйте обратиться org.springframework.validation.BeanPropertyBindingResult

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