gpt4 book ai didi

javascript - org.springframework.web.bind.MissingServletRequestParameterException : Required Long parameter 'userId' is not present"错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:05:14 28 4
gpt4 key购买 nike

我在发布对 Spring Controller 的调用时遇到异常

异常(exception)是:

 org.springframework.web.bind.MissingServletRequestParameterException : Required Long parameter 'userId' is not present"

我的 Javascript 文件是:

$scope.removeUser = function(user){
var userId = JSON.stringify(user);
$http.post('/portal/settings/user/deletecustomeruser', userId).success(function(data){
$scope.response = data;
})
}
}

Spring Controller 代码是:

      @RequestMapping( value = "/user/deletecustomeruser", method = RequestMethod.POST , headers="Accept=application/json")
public @ResponseBody String deleteCustomerUser( @RequestParam (value = "userId") Long userId,
HttpServletRequest request )
throws Exception
{
String returnString = "";
User user = userService.getUserById( userId );

当我输入 (required = false) 时,userId 值变为 null。JavaScript Controller 显然以 JSON 格式发送 "userId",但从 Controller 端来看存在一些问题。

我检查了 stackoverflow 中的几乎所有问题,但给定的解决方案没有帮助。

最佳答案

您期望 userId 作为服务器端的请求参数,但您在客户端 http post 请求中将 userId 作为请求正文发送,

修改客户端发送userId作为请求参数

 $http.post('/portal/settings/user/deletecustomeruser?userId='+userId)

或者更改服务器端以在 Controller 中使用 userId 作为请求主体

myControllerMethod (@RequestBody String userId)

关于javascript - org.springframework.web.bind.MissingServletRequestParameterException : Required Long parameter 'userId' is not present"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32221090/

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