Axios POST请求将一个空对象传递给Spring REST API结束

问题描述 投票:0回答:1

我正在学习react / redux,并决定采用旧的JQuery UI,该UI向Spring REST API发出请求并在React中重写它。我正在使用Axios发出请求。在我的旧Query UI中,提交表单后,我将执行以下操作。

 var formInputs = $(form).serialize();

 $.post("/addAttrItem",  formInputs,  function(updated){
                    refresh();
                    showRecord(updated);
                    displayControlMsg("Record below was added successfully");
                }

这由下面的Spring下面的代码处理

 @ResponseBody
@RequestMapping(value="/someURL", method=RequestMethod.POST)
public AttrItem restfulAdd(AttrItem item) throws Exception
{
    item.setLastUpdate(new java.util.Date());
    itemService.create(item);
    return item;
}

通过JQuery发送请求时,AttrItem项目参数填充有JQuery发送的所有正确值

但是,当我尝试以下axios时

    axios.post(someUrl, data).then
    (res => {
        dispatch(addAttributeSync(res));
    }).catch(error =>{
        alert('add item failed ' + error);
    } 

AttrItem项目参数本身不是null,但为空,没有任何字段设置为来自表单的值。我确认该数据对象在发布请求之前包含正确的数据。

reactjs spring-mvc axios spring-rest
1个回答
0
投票

看看是否使用item注释将HTTP请求主体映射到方法参数@RequestBody有帮助。

@ResponseBody
@RequestMapping(value="/someURL", method=RequestMethod.POST)
public AttrItem restfulAdd(@RequestBody AttrItem item) throws Exception
{
    item.setLastUpdate(new java.util.Date());
    itemService.create(item);
    return item;
}
© www.soinside.com 2019 - 2024. All rights reserved.