在 spring 框架上使用 @ModelAttribute("myobject") 在服务器上访问 JSON

Accessing JSON on server using @ModelAttribute("myobject") on spring framework

我制作了一个 spring Crud 我正在通过 post 方法发送表单数据,它工作正常。 我的控制器代码:

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

{
.
.
.    
}

但现在我想在JSON中发送表单数据,但它不起作用。我应该怎么办。我是 spring 的新手,无法理解它是如何制作我的 bean class 对象并从 parameters.Need 获取数据的,请帮忙 提前致谢。

@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 body传递给服务器。

首先你需要检查你的 json 字符串和你的 pojo class 之间是否必须有 属性 匹配,然后将下面的代码与 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