我将ID Null传递给后端,这是从前端传递的参数
this.overAllSummery = function(offset,limit,search,colName,order,id){
var url = 'api/dashboard/summary/'
if(offset!= undefined){
url=(url.indexOf("?") > -1)?url+"&offset="+offset:url+"?offset="+offset;
}
if(limit != undefined){
url=(url.indexOf("?") > -1)?url+"&limit="+limit:url+"?limit="+limit;
}
if(search!=undefined && search!=""){
url=(url.indexOf("?") > -1)?url+"&search="+search:url+"?search="+search;
}
if(colName != undefined){
url=(url.indexOf("?") > -1)?url+"&colName="+colName:url+"?colName="+colName;
}
if(order != undefined){
url=(url.indexOf("?") > -1)?url+"&order="+order:url+"?order="+order;
}
if(id != undefined){
url=(url.indexOf("?") > -1)?url+"&id ="+id:url+"?id ="+id;
}
alert(id);
var promise = $http({
method : 'GET',
url : url,
headers : {
'Content-Type' : 'application/json'
},
cache : false
}).then(function (response) {
return response;
});
return promise;
};
上面整个都是使用AngularJS的前端服务,并传递URL来调用后端,因为我传递了不同的参数,所以除了ID之外,我都将所有参数传递到了后端,并且基于ID,我必须从数据库中获取记录。
@RequestMapping(value = "/summary", method = RequestMethod.GET, produces="application/json")
public ResponseEntity<List<OverAllSummery>> overAllSummery(HttpServletRequest request,@RequestParam(value="offset",required=false) Integer offset,@RequestParam(value="limit",required=false) Integer limit,
@RequestParam(value="search",required=false) String search,@RequestParam(value="colName",required=false) String colName,@RequestParam(value="order",required=false) String order,
@RequestParam(value="id",required=false) Long id){
try {
return new ResponseEntity<List<OverAllSummery>>(DashbordService.overAllSummery(offset,limit,search,colName,order,id), HttpStatus.OK);
} catch (Exception exception) {
logger.error("Error retriving all categories", exception);
return new ResponseEntity<List<OverAllSummery>>(HttpStatus.INTERNAL_SERVER_ERROR);
}
上面是我正在使用的其余控制器,在调试模式下,调用正在传递给后端,但ID为空,并且前端控制台中显示404。
在警报中添加URL之后,您可以看到ID = 1,但是在调用后,该ID变为null
您可以在上方看到API中的ID
答案 0 :(得分:1)
答案 1 :(得分:0)
Runtime.getRuntime().exec("cat /u01/app/oracle/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/servers/managed/logs/managed.out");
您没有在requestMapping中将id添加为参数
添加{id} @RequestMapping(value = "dashboard/summary" ...)
您调用@RequestMapping(value = "dashboard/summary/{id}" ...)
答案 2 :(得分:0)
HTTP中的错误404绝对意味着服务器(后端)不知道该URL,您正在尝试访问。由catch块产生的内部服务器错误是HTTP 500,因此后端未产生异常。因此,首先要检查的是您实际尝试访问的URL。顺便说一句,尝试使用'/ api / dashboard / summary',而不是现在在前端使用的。