gpt4 book ai didi

javascript - (Spring,AngularJS)我不知道为什么它是NULL

转载 作者:行者123 更新时间:2023-11-28 17:33:53 25 4
gpt4 key购买 nike

我想发送用户的电子邮件以检查重复

这是我的后 Controller

@RequestMapping(value = "/api/v1/public/checkDuplicate", method = RequestMethod.POST)
public ResponseEntity<Object> getCnt(
HttpServletRequest request,
HttpServletResponse response,
@RequestParam(value="usrEmail", required=false) String usrEmail){
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
}

这是我的前端 Controller

$scope.user.usrEmail = $scope.usrEmail;
var req = {
method: 'POST',
url: './api/v1/public/checkDuplicate',
dataType: 'json',
headers: {
'Content-Type': 'application/json; charset=utf-8'
},
data: angular.toJson($scope.usrEmail)
};

这是我的观点

<input type="email" class="form-control" name="usr_Email"
ng-model="usrEmail" ng-required="true"
ng-keypress="checkDuplicate()">

当我使用“console.log”检查时,前端 Controller 可以正确获取用户的电子邮件。但在 Back Controller 中,RequestParam 没有任何内容,只是 NULL,没有错误代码,除了 'NullPointerException'。

我认为这不是通信错误。有什么我错过的吗?谢谢!

最佳答案

它是您在后台 Controller 中使用的@RequestParam,因为它链接到请求参数。它应该是链接到 HTTP 请求正文的 @RequestBody。检查here了解更多信息。

现在您可以像下面这样更改代码 -

返回 Controller

    @RequestMapping(value = "/api/v1/public/checkDuplicate", method = RequestMethod.POST)
public ResponseEntity<Object> getCnt(
HttpServletRequest request,
HttpServletResponse response,
@RequestBody Object userReqObj){
HashMap<String, Object> userMap = (HashMap<String, Object>) userReqObj;
String userEmail = userMap.get("usrEmail");
//logic goes here...
}

前置 Controller

var req = {
method: 'POST',
url: './api/v1/public/checkDuplicate',
dataType: 'json',
headers: {
'Content-Type': 'application/json'
},
data: {
'usrEmail' : $scope.usrEmail
}
};

关于javascript - (Spring,AngularJS)我不知道为什么它是NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49608002/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com