如何使用Angular POST向Spring Rest发送多个参数。
以下是我的Spring REST方法。
@RequestMapping(value = "/report/generate", method = RequestMethod.POST)
public byte[] generateReport(@RequestBody Map<String, Object> params, @RequestParam(value = "reportType") ReportType reportType) {
以下是我的AngularJS POST电话。
var req = {
method : 'POST',
url : '/report/generate',
headers : {
'Content-Type' : 'application/json'
},
data : {reportType : reportType, params : params }
}
var promise = $http(req)
.then(
function successCallback(response) {
return response.data;
}, function errorCallback(response) {
console.log("Error saving client details!! Try again...");
return response;
}
);
return promise;
第二个参数ReportType是一个类型枚举,因此从AngularJS发送String
答案 0 :(得分:0)
你的sintax无效
data : params, reportType
data
是一个将作为json发送到您的服务器的对象,您可以根据需要添加任意数量的键值对。
data: {
whateverKey: whateverValue
reportType: ReportType
}
答案 1 :(得分:0)
您可以使用以下示例代码来构建数据对象。
var fd = new FormData();
fd.append('key1', value1);
fd.append('key2',value2);
var req = {
method : 'POST',
url : '/report/generate',
headers : {
'Content-Type' : 'application/json'
},
data : fd
}
var promise = $http(req)
.then(
function successCallback(response) {
return response.data;
}, function errorCallback(response) {
console.log("Error saving client details!! Try again...");
return response;
}
);
return promise;