gpt4 book ai didi

java - 无法读取Spring应用程序中的POST参数

转载 作者:行者123 更新时间:2023-12-02 03:46:17 26 4
gpt4 key购买 nike

我正在使用 Angular js 将参数发布到 Spring 应用程序。

在有 Angular 的一侧

$http.post('dashboard/processSearch',{processRequestName:'TestName',displayName:'Test'})
.then(function(response) {
console.log(response.data);
});

Spring Controller 端

@RequestMapping(value = "/processSearch", method = RequestMethod.POST)
@ResponseBody
public String searchAll(@RequestParam String processRequestName, @RequestParam String displayName) {

return processRequestName+"####"+displayName;
}

我在 ajax 响应中获取完整的网页,并带有错误消息

错误 应用程序在执行操作时遇到错误。 请参阅下面的错误详细信息。 错误引用:1459234251503-5

label.error.missingservletrequestparameterexception

最佳答案

指定 params 参数

以不同的方式分解你的http调用。

$http({
url: dashboard/processSearch,
method: "POST",
params: {processRequestName: 'TestName', displayName:'Test'}
});

这是传递参数的正确方法。

但是您可能需要以与参数类似的方式传递 header

headers: {
'Content-Type': undefined
}

使用工厂

此外,您还应该在返回结果的工厂方法中发出 http 请求。然后,您可以将该工厂添加到您需要的任何 Controller 中。这是您执行 Controller 的 .then 部分的位置。

你的工厂应该是这样的

angular.module('yourService', []).factory('YourFactory', [ '$http',  function($http){
return{
getStuff: function(){
return // your http request
}
};
}]);

然后您可以像这样在 Controller 中调用您的工厂

angular.module('yourCtrlMod', ['yourService']).controller('yourCtrl', [ '$scope','yourFactory', function($scope, yourFactory){

yourFactory.getStuff().then(function(res){
$scope.yourScope= res.data;
});

}]);

请注意,这是为了获取而不是发布,在您的情况下,您将必须发布数据并发送参数。到工厂并填写参数或标题。

关于java - 无法读取Spring应用程序中的POST参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36277642/

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