springMVC接收前端ajax传的数组
在传递的过程中,直接使用@RequestParam接收,发现400错误
首先是ajax如下:
其中的参数都是数组
// 请求后台设置域名
$.ajax({
url: basePath + '/modify_server_domain',
type: 'post',
data: {
appId: appId,
requestdomainList: requestDomainList,
wsrequestdomainList: socketDomainList,
uploaddomainList: uploadFileDomainList,
downloaddomainList: downloadFileDomainList
},
dataType: 'json',
success: function (res) {
console.log(res)
}
});
后端的代码如下:
@RequestMapping("/modify_server_domain")
public R modifyServerDomain(@RequestParam(“appId”) String appId, @RequestParam(“requestdomainList”) List requestdomainList,
@RequestParam(“wsrequestdomainList”) List wsrequestdomainList,
@RequestParam(“uploaddomainList”) List uploaddomainList,
@RequestParam(“downloaddomainList”) List downloaddomainList){
try {
WxOpenMaDomainResult mpServerDomain = weChatOpenService.modifyServerDomain(appId, requestdomainList,
wsrequestdomainList, uploaddomainList, downloaddomainList);
return R.ok(mpServerDomain);
} catch (ApiException ae) {
return R.failed(ae.getMessage());
} catch (Exception e) {
return R.failed(ResponseMessage.ERROR);
}
}
最后发现,直接写参数名是不能接收的,解决办法就是加上[]
即:
@RequestMapping("/modify_server_domain")
public R modifyServerDomain(@RequestParam(“appId”) String appId, @RequestParam(“requestdomainList[]”) List requestdomainList,
@RequestParam(“wsrequestdomainList[]”) List wsrequestdomainList,
@RequestParam(“uploaddomainList[]”) List uploaddomainList,
@RequestParam(“downloaddomainList[]”) List downloaddomainList){
try {
WxOpenMaDomainResult mpServerDomain = weChatOpenService.modifyServerDomain(appId, requestdomainList,
wsrequestdomainList, uploaddomainList, downloaddomainList);
return R.ok(mpServerDomain);
} catch (ApiException ae) {
return R.failed(ae.getMessage());
} catch (Exception e) {
return R.failed(ResponseMessage.ERROR);
}
}