关于spring mvc参数绑定(数组,复杂类型)

问题

前端请求的参数是数组,比如

{
    id: [1,2,3,4,5]
}

或者是复杂类型,比如

{
    person: {
        name: 'spring',
        tel: '110',
        ball: [
            football: {
                weight: 20,
                color: '红'
            },
            basketball: {
                weight: 15,
                color: '黑'
            }
        ]
    }
}

那么,前端ajax怎么写,后端controller应该怎么写?

第一种情况包括在第二种情况里(其实第一种情况有更简单的做法),所以下面以第二种情况为例。

ajax

e.g.
person: {
    name: 'spring',
    tel: '110',
    ball: [
        football: {
            weight: 20,
            color: '红'
        },
        basketball: {
            weight: 15,
            color: '黑'
        }
    ]
};
$.ajax({
    url: 'xxxx',
    contentType: 'application/json',
    data: JSON.stringify(person),
    type: "post"
    }
);
要注意的地方
  • contentType设为json
  • type设为post
  • data要转成json字符串

Controller

e.g.
@RequestMapping("/xxxx")
@ResponseBody
public ResultVO method1(@RequestBody Person person){
    
    return result;
}
要注意的地方
  • 写个和前端参数的数据结构一样的vo
  • 在接收参数前加个叫RequestBody的注解

你可能感兴趣的:(关于spring mvc参数绑定(数组,复杂类型))