public UserResponse after(RequestContext ctx) throws UserException { try { for (Filter filter : filters) { if (filter.isAccept(ctx) == false) { continue; } // 执行当前filter,如果执行失败,则直接return,否则继续执行下一个filter UserResponse result = filter.after(ctx); if (result.isSuccess() == false) { return result; } } } catch (UserException e) { return new UserResponse(e.getResponseCode(), e.getMessage()); } catch (Exception e) { return new UserResponse(ResponseCode.SYS_E_SERVICE_EXCEPTION); } return new UserResponse(ResponseCode.REQUEST_SUCCESS); }