将对象数组从angular发送到Spring

时间:2016-10-04 15:37:05

标签: java angularjs spring

我试图像这样发送:

$scope.listDms = []
$http.post('url?listDomain='+$scope.listDms);

在弹簧控制器中

@RequestMapping('url')
public getDomains(@RequestParam List<Domain> listDomain){
...
}

但应用程序无法从String绑定到List

2 个答案:

答案 0 :(得分:1)

解决方案是在请求正文中发送数组

$scope.listDms = []
$http.post('url',$scope.listDms);

在弹簧控制器中

@RequestMapping('url')
public getDomains(@RequestBody List<Domain> listDomain){
...
} 

答案 1 :(得分:0)

由于它是一个发布请求,您可以在请求正文中发送它,但如果您必须将数据作为url参数发送,则需要在发送之前序列化数据。

$http.post('url?listDomain='+JSON.stringify($scope.listDms));

但是,如果数据包含任何保留的特殊字符,例如&#39;?,&amp;,/ ....&#39;然后,您需要在将数据发送到服务器端之前将其转义。

Escaping special characters