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;
}
但我不知道閹我能趕上在門面服務異常或也許有更好的解決辦法?