我正在尝试使用$ http.post方法从angularjs更新一些数据到Spring MVC控制器。但我得到的错误是“HTTP状态405 - 请求方法'GET'不受支持”。我的代码片段如下:
// AngularJS服务
updateData : function(data) {
return $http.post('updateData', data).then(
function(response){
// success callback
return response;
},
function(response){
// failure callback
return response;
}
);
}
其中数据如下:
data = [{ id:1, 名字:'foo' },{ id:2, 名称:'酒吧' },{ id:3, 名称:'baz' }];
// Spring MVC控制器代码
@RequestMapping(value="/updateData", method = RequestMethod.POST)
public @ResponseBody String updateData(@RequestBody Company company) throws Exception {
// I have created POJO for company with id and name getter-setter
// logic to update the data in db
//System.out.println(company.getName());
return "success";
}
我的代码中有错误吗?
答案 0 :(得分:1)
您的数据是数组格式$
。但是你的@RequestBody只有对象。您的RequestBody应该是一个列表。然后只有它可以接受
所以请将您的代码从data = [{ id: 1, name: 'foo' }, { id: 2, name: 'bar' },{ id: 3, name: 'baz' }];
更改为@RequestBody Company company
。然后让我知道