0
我正在根据3层架构(演示,应用程序,域层)使用SpringMVC开发web应用程序。在表示层上还有一个Facade服务,并且每个从控制器到应用程序服务的请求都通过Facade服务(Contorller - > FacadeService - > ApplicationService)。如果我在应用程序或域图层中遇到异常,我应该在UI中显示它。这就是现在如何实施的。门面服务中的异常处理
控制器
@PostMapping("/password/change")
public String processChangePasswordRequest(ChangePasswordForm form, BindingResult bindingResult){
ChangePasswordReqStatus status = facadeService.requestChangePassword(
form.getOld(),
form.getPassword()
);
if(status == ChangePasswordReqStatus.PASSWORD_MISMATCH)
bindingResult.rejectValue("oldPassword", "password.mismatch", "Wrong password");
return "change_password";
FacadeService
@Override
public ChangePasswordReqStatus requestChangePassword(Password old, Password password) {
try{
accountService.changePassword(old, password);
}catch (PasswordMismatchException ex){
return ChangePasswordReqStatus.PASSWORD_MISMATCH;
}
return ChangePasswordReqStatus.OK;
}
但我不知道阉我能赶上在门面服务异常或也许有更好的解决办法?