コード例 #1
0
  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);
  }