Angular $resource and errorResult JSON handling

Angular $resource and errorResult JSON handling

本文关键字:JSON handling errorResult and resource Angular      更新时间:2023-09-26

我有一个暴露在Angular控制器中的Spring Rest服务,我使用Angular资源服务与它通信。在我的服务中,我实现了异常处理和标准错误响应,我返回一个Json对象,其中包含errorCode, errormessage和errorDescription等数据。

现在我想在errorResult中处理Json,就像在successResult中一样,以便在网页上显示errordescription。我该怎么做呢?

这是资源服务使用的示例:

   var configGet = config.get({}, function(successResult) {
        $log.debug("Service responded successfully");
        $log.debug(successResult);
        $scope.data = successResult.content;
        $scope.totalItems = successResult.totalElements; 
    }, function(errorResult) {
        $log.error("Service responded with ERROR");
        //How to get errorDescrption  from erorrResult?
    });

正如你在你的问题中提到的,你在错误的情况下返回Json也有适当的errorCode和errorMessage,所以你可以很容易地在成功块这样处理。

这里Ajax请求将返回成功块即使在你的服务中有任何异常处理因为在服务端你返回正确的json在错误的情况下也

var configGet = config.get({}, function(successResult) {
            if (successResult.errorMessage == "something" && successResult.errorCode=="codeNumber") {
                $log.error("Error Occured");
            } else {
                $log.debug("Service responded successfully");
                $log.debug(successResult);
                $scope.data = successResult.content;
                $scope.totalItems = successResult.totalElements;
            }
        }, function(errorResult) {
            $log.error("Service responded with ERROR");
            //How to get errorDescrption  from erorrResult?
        });

好了,我找到了解决方案,而且很简单,我不知道我怎么没看到它…

获取errordescription的方法如下:

var errorDescrption  = errorResult.data.errorDescrption