我是Rest API和Angularjs的新手。我试图在UI上显示警告消息,以显示我的表的编辑是否成功。我想知道怎样才能将Rest api控制器的警报发送给angularjs? 好吗? 感谢
例如我试图使用angularjs http
发布内容$scope.savePlan = function (plan,code) {
$http({
method : 'POST',
contentType: 'application/json',
url : restUrl + "plans/update/"+ plan,
data: code
}).success(function(data) {
console.log('POST: ' + data);
}).error(function(data) {
console.log('POST ERROR: ' +data);
});
};
Rest api controller
@RequestMapping(value = "/update/{plan}", consumes = MediaType
.APPLICATION_JSON,
method = RequestMethod.POST)
public String savePlan(@PathVariable("plan") String plan,
@RequestBody String code) throws Exception {
String message="";
if (code== null || code.trim().length() == 0 ||
plan== null || plan.trim().length() == 0)
{
//instead of logger.error i want to send that error message to display on the UI
message = "Plan details and type must be provided." +null;
}
返回消息; }
答案 0 :(得分:0)
可能你可以使用errorStatus返回一个JSON对象,然后你可以显示错误信息,
$scope.savePlan = function (plan,code) {
$http({
method : 'POST',
contentType: 'application/json',
url : restUrl + "plans/update/"+ plan,
data: code
}).success(function(data) {
if(data.ErrorMsg)
{
//display data.ErrorMsg
}
else
{
//successfully posted
}
}).error(function(data) {
console.log('POST ERROR: ' +data);
});
};
答案 1 :(得分:0)
使用rest full api你的服务器端控制器应该返回错误或成功响应(json格式)。 200是成功代码,应该作为状态以及来自服务器的响应返回。
在角度中,您的成功块不是为了处理错误。只有当'OK'(表示成功)的200将落入您的成功块时,所有其他状态才会出现在错误块中。
对于错误弹出,您可以使用bootbox