我正在使用带有Spring MVC框架的Java后端,我有一个服务,它接受一个List并删除数据库中的一些对象。当我使用Postman时,我发送下一个JSON对象:
["ce8249aa-1ede-40b9-a158-d2c417c23df7",
"73a629b9-bae8-44aa-83c3-e8ee0fc96325",
"50c45e52-2c74-40ec-93e7-1b5379eae5db",
"c8a61e92-bc6d-47d0-a3e2-bda9ad85cecc"]
然后我在Angularjs中使用了一个发送此对象的服务:
$scope.accounts = new Array("ce8249aa-1ede-40b9-a158-d2c417c23df7",
"73a629b9-bae8-44aa-83c3-e8ee0fc96325",
"50c45e52-2c74-40ec-93e7-1b5379eae5db",
"c8a61e92-bc6d-47d0-a3e2-bda9ad85cecc");
但我收到了这个错误:
客户端发送的请求在语法上是不正确的。
其他JSON对象不会出现此问题,例如:
来自邮递员:
{
"accountName":"XxxxxXXxxxx",
"paymentMethodMain":"Medio Pago",
"accountType":"xx",
"accountNumber":"123456AA"
}
来自Angular:
$scope.account = {
"accountName":"XxxxxXXxxxx",
"paymentMethodMain":"Medio Pago",
"accountType":"xx",
"accountNumber":"123456AA"
};
在这种情况下,一切正常。
答案 0 :(得分:0)
我认为你不能发布像这样的数组。您必须将数组作为字符串/文本发送到请求正文中,并在服务器端解析或执行类似
的操作$scope.accounts = new Array("ce8249aa-1ede-40b9-a158-d2c417c23df7",
"73a629b9-bae8-44aa-83c3-e8ee0fc96325",
"50c45e52-2c74-40ec-93e7-1b5379eae5db",
"c8a61e92-bc6d-47d0-a3e2-bda9ad85cecc");
// in your request send the array as value to a json key
{data: $scope.accounts }
在您的服务器中尝试
request.getParameterValues("data[]");