Controller code of Angular Js...
FactoryPBD.showPbdCostCompareData(data).success(
function(result) {
if(result != ""){
//doing my processing and working fine
}).error(function(result,status,message){
console.log("result" , result);
//getting undefined in all the above variable
});
Service code:
showPbdCostCompareData : function(filter) {
promise = $http({
url : 'pbd/showPbdCostCompareData?serachFilterJson='+JSON.stringify(filter),
method : "POST"
});
return promise;
}
Java Controller:-
@RequestMapping(value = "/showPbdCostCompareData", method = RequestMethod.POST)
public @ResponseBody ResponseEntity<String> showPbdCostCompareData(HttpServletRequest request,
@RequestParam String serachFilterJson) {
try {
if (null != serachFilterJson && !"".equalsIgnoreCase(serachFilterJson)) {
Gson gson = new Gson();
SearchCriteriaBean searchCriteriaObj = gson.fromJson(serachFilterJson, SearchCriteriaBean.class);
CnHeaderBean cnHeaderBean = pbdServiceImpl.getPbdCostCompareCnHeaderData(searchCriteriaObj); //getting the value from sevice
List<PbdCostCompareBean> pbdCostCompareList = null;
if (null != cnHeaderBean) {
if("F".equalsIgnoreCase(cnHeaderBean.getPbdType())){
searchCriteriaObj.setFromPartIscb(cnHeaderBean.getFromPartIscb());
searchCriteriaObj.setToPartIscb(cnHeaderBean.getToPartIscb());
pbdCostCompareList = pbdServiceImpl.getPbdCostComparisonData(searchCriteriaObj); //getting the value from sevice
}else{
return new ResponseEntity<String>("Incorrect PBD Type",HttpStatus.SERVICE_UNAVAILABLE);
}
} else {
return new ResponseEntity<String>(HttpStatus.SERVICE_UNAVAILABLE);
}
HashMap<Integer, Object> costCompareMap = new HashMap<Integer, Object>();
costCompareMap.put(1, cnHeaderBean);
costCompareMap.put(2, pbdCostCompareList);
costCompareMap.put(3, pbdServiceImpl.validateUserAccess(searchCriteriaObj, serviceUtility.getUserFromSession(request)));
String pbdDataJsonResponse = gson.toJson(costCompareMap);
return new ResponseEntity<String>(pbdDataJsonResponse, HttpStatus.OK);
} else {
return new ResponseEntity<String>(HttpStatus.SERVICE_UNAVAILABLE);
}
} catch (C2PCException e) {
return new ResponseEntity<String>(e.getMessage(),HttpStatus.SERVICE_UNAVAILABLE);
}
}
Я использую контроллер Spring Rest с Angular js для моего проекта. Все работает нормально, и данные отправляются на клиентскую сторону, когда на стороне Java нет ошибок. Но в случае исключения на стороне java, тогда в зависимости от исключения я хочу вернуть свое сообщение пользователю. Мой текст ответа не передается на клиентскую сторону. Любая помощь будет оценена по достоинству. Код приведен выше Здесь, в приведенном выше e.getMessage, я получаю свое настраиваемое сообщение, которое я установил на уровне сервиса mu и выбрасывает исключение. Но на стороне клиента в сообщении об ошибке я получаю все значения как неопределенные.ResponseEnity с угловой js
e.getMessage является строкой. В угловом js при возникновении ошибки вы ожидаете возвращения JSON или HTML/текста? Когда это произойдет, я предполагаю, что вы ожидаете JSON. –
Его JSON я верю ... Как преобразовать это в JSON. –