将Angular $ http帖子中的String值传递给Spring @RestController

时间:2017-02-06 18:38:40

标签: spring-restcontroller

我有一个像这样的REST api端点 -

@RequestMapping(value = "/createform/custom/name", method = RequestMethod.POST)
public String nameSubmit(@RequestBody String name) {
    return "you have submitted this name ***** "+name;
}

从角度服务我试图像这样进行REST调用 -

var data = 'name='+inputName;
$http.post(uploadUrl, data, {
        headers: {'Content-Type': 'application/x-www-form-urlencoded'}
    }).then(
        function(success){
            alert(success.data);
        },
        function(error){
            alert(error.status);
        }
     );

现在我总是得到-1 HTTP状态,控制转到错误块。我也试过@RequestParam而不是@RequestBody,但没有运气。但如果我尝试通过curl或chrome邮递员访问服务,一切正常。只有当我尝试通过角度应用程序时,我才会遇到-1响应。

1 个答案:

答案 0 :(得分:0)

这是一个CORS问题。我先尝试Spring proposed solutions。但是" gs-rest-service-cors"在Maven存储库中找不到jar。因此最终编写了a filter,如此处所示,事情正常。