HTTP状态405 - 来自angular的$ http.post调用不支持请求方法'GET'错误

时间:2017-04-26 06:01:29

标签: angularjs http spring-mvc

我正在尝试使用$ 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";       
}

我的代码中有错误吗?

1 个答案:

答案 0 :(得分:1)

您的数据是数组格式$。但是你的@RequestBody只有对象。您的RequestBody应该是一个列表。然后只有它可以接受

所以请将您的代码从data = [{ id: 1, name: 'foo' }, { id: 2, name: 'bar' },{ id: 3, name: 'baz' }];更改为@RequestBody Company company。然后让我知道