我正在尝试通过使用Spring MVC-Spring Security-AngularJS构建一个小型webapp来学习AngularJS。我的UserDetailsService在登录时抛出UserNotFoundException。但我不知道如何处理Angular中的异常。我试过谷歌,但找不到关于异常处理的简单,完整的例子。
这是我的身份验证角度模块的一部分:
{{1}}
如何在错误回调函数中找到并捕获此特定的UserNotFoundException?
答案 0 :(得分:2)
我建议您在控制器中创建@ExceptionHandler
,然后在UserNotFoundException
中再添加两个字段(errorMessage
和errorCode
)。然后在您的角度回调中,您可以检查哪个是errorCode
号码。
好文章:
对于高级错误处理,我建议您执行此操作:https://github.com/jirutka/spring-rest-exception-handler
以下是您案例的示例:http://jsfiddle.net/bkUEu/1044/
答案 1 :(得分:0)
在你的应用程序中,angularjs尝试使用这个
$http.get('user', {
headers : headers
}).then(function(data) {
if (data.name) {
auth.authenticated = true;
} else {
auth.authenticated = false;
}
callback && callback(auth.authenticated);
$location.path(auth.path==auth.loginPath ? auth.homePath : auth.path);
}).catch(function() {
auth.authenticated = false;
callback && callback(false);
});
使用then和catch函数而不是成功和错误。