Angularjs错误请求(400)

代码蚱hopper

我正在尝试使用我在Spring API中创建的REST服务,当我使用Swagger测试它时,它的行为符合预期,但是当尝试从我的UI中使用它时,我得到了:

 rest/login/getCredentials 400 (Bad Request)

我通常使用,@RequestBody但在这种情况下,使用@RequestParam可能会引起麻烦吗?当我从UI调用服务时,线程似乎在控制器处停止,控制台向我显示的唯一内容是:

2016-03-10 19:15:02.997  INFO 8852 --- [nio-8090-exec-1] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization started
2016-03-10 19:15:03.016  INFO 8852 --- [nio-8090-exec-1] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization completed in 19 ms

JS

  $scope.recoverPassword = function(){


    $http.post('rest/login/getCredentials',$scope.email).success(function (loginResponse) {

      if(loginResponse.code == 200){
        alert(loginResponse.codeMessage);

      }else{
        alert(loginResponse.codeMessage);
      }

      $scope.showLogin = true;

    });

  };

控制器

@RequestMapping(value = "/getCredentials", method = RequestMethod.POST)
@Transactional
public LoginResponse getCredentials(@RequestParam("email")String email){

    LoginResponse response = new LoginResponse();
    Boolean state = loginService.getCredentials(email);

    if(state){
        response.setCode(200);
        response.setCodeMessage("Credentials send, please check your email.");
    }else{
        response.setCode(401);
        response.setCodeMessage("Invalid email.");
    }

    return response;

}

浏览器的调试器仅将请求有效负载显示为:“ [email protected]

我想知道是否有人可以向我指出正确的方向,我敢肯定这一定是一个很愚蠢的错误。

编辑:从@Param更改为Body,它起作用了,但我仍然想知道为什么它不适用于Param。

编码器

您正在使用$http.post('rest/login/getCredentials',$scope.email),按照该API post(url, data, [config]);,您发送的EMAILID作为请求的内容,而不是作为请求PARAM。因此,当您使用@param时,您的控制器不会获得电子邮件地址。

您还可以在浏览器中检查“网络”标签,电子邮件地址将作为帖子正文而不是作为url请求参数

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

文件上传-错误的请求(400)

来自分类Dev

每个请求的Azure 400错误请求

来自分类Dev

为什么在AngularJs帖子中收到400个错误的请求?

来自分类Dev

AJAX请求的“ 400错误请求”响应

来自分类Dev

RestApi的NelmioApiDoc错误请求400

来自分类Dev

解析400错误请求setACL

来自分类Dev

卷曲SSL请求400错误请求

来自分类Dev

非常简单的AngularJS $ http POST结果为“ 400(错误请求)”和“无效的HTTP状态代码400”

来自分类Dev

PHP fsockopen 400错误请求

来自分类Dev

调试400错误请求响应

来自分类Dev

python请求400错误

来自分类Dev

AngularJS中的POST 400错误请求

来自分类Dev

WCF休息和angularjs 400 BAD在发布期间请求错误

来自分类Dev

angularjs 1.5 / laravel错误请求400

来自分类Dev

Firebase Hosting 400错误请求

来自分类Dev

每个请求的Azure 400错误请求

来自分类Dev

$ .ajax 400错误请求

来自分类Dev

angularjs发布要表达4返回错误的请求400

来自分类Dev

HttpListener返回错误请求400

来自分类Dev

使用AngularJS在Youtube API更新上出现400错误请求

来自分类Dev

HTTP请求:400错误

来自分类Dev

AJAX错误:400错误的请求

来自分类Dev

POST 400错误,ajax请求

来自分类Dev

请求库的错误请求错误 400

来自分类Dev

Ajax 400 错误请求

来自分类Dev

烧瓶错误请求错误 400

来自分类Dev

Flask - Postgres 400 错误请求

来自分类Dev

Python POST 请求 400 错误请求

来自分类Dev

错误的请求错误 400