springmvc 实现数据验证
来源:互联网 发布:scanner java 编辑:程序博客网 时间:2024/05/16 19:34
需要引入spring-context的maven依赖
定义:
/** * @desc: * @Author: * @date:Create on 2017/11/6 14:34 */@Entitypublic class QrRequestVO extends BaseVO{ @NotBlank(message ="客户id不能为空") private String custId;//客户id @NotBlank(message ="设备标识不能为空") private String deviceID;//设备标识 @NotBlank(message ="设备类型不能为空") private String deviceType ;//设备类型 private String mobile;//银行预留手机号 @NotBlank(message ="应用提供方账户ID不能为空") private String accountIdHash;//应用提供方账户 ID private String sourceIP;//IP private String deviceLocation;//设备 GPS 位置 private String fullDeviceNumber;//设备 SIM 卡号码 }
调用:
/** * * @param session * @param transpwd * @param qrRequestVO * @param bindingResult * @return */@RequestMapping(value = "/validateTransPassword", method = RequestMethod.POST)public ApiResponse validateTransPassword(HttpSession session, String transpwd,@Valid QrRequestVO qrRequestVO,BindingResult bindingResult) { log.info("custId:" + qrRequestVO.getCustId() + " xxx controller execute begin"); //请求参数校验 bindingResult.hasErrors()判断是否有错误信息 if (bindingResult.hasErrors()) { return RestResponseUtil.err(ServiceErrorCode.REQUEST_ARGS_ERROR.getCode(), bindingResult.getFieldError().getDefaultMessage()); } //sourceIp、deviceLocation、fullDeviceNumber三者之一,必须有一个值 if (StringUtils.isBlank(qrRequestVO.getSourceIP()) && StringUtils.isBlank(qrRequestVO.getDeviceLocation()) && StringUtils.isBlank(qrRequestVO.getFullDeviceNumber())) { return RestResponseUtil.err(ServiceErrorCode.REQUEST_ARGS_ERROR.getCode(), "IP、设备GPS位置、设备SIM卡号码至少有一个"); } String custId = qrRequestVO.getCustId(); RedisLock lock = new RedisLock("updateTransPassword_" + custId); try { if (!lock.lock()) { return RestResponseUtil.err(ServiceErrorCode.REQUEST_REPEAT_ERROR.getCode(), "同一时间只能发起一笔xx交易!"); } LoginUserVO user = (LoginUserVO) session.getAttribute(BConstants.CURRENT_USER_KEY); if (user == null) { return RestResponseUtil.err(ServiceErrorCode.LOGIN_EXPIRE.getCode(), "未拿到当前登录用户信息!"); } // 判断当前用户custId和前端的custId是否一致 if (!user.getCustId().equals(custId)) { return RestResponseUtil.err(ServiceErrorCode.CUST_INFO_MODIFY_ERROR.getCode(), "客户信息被篡改!"); } BodyEntity<String> entity = liCardUserService.validateTransPassword(custId, transpwd); return RestResponseUtil.succ(entity); } catch (ServiceException e) { log.error("检查错误:", e); return RestResponseUtil.err(e.getErrorCode().getCode(), e.getMessageTip()); } catch (Exception e) { log.error("更新:", e); return RestResponseUtil.err(ServiceErrorCode.SERVER_ERR.getCode(), "检查xx异常,请稍后重试"); } finally { lock.unlock(); }}
阅读全文
0 0
- springmvc 实现数据验证
- SpringMVC数据验证
- SpringMVC数据验证--Validation
- SpringMVC数据验证
- springmvc数据验证
- SpringMVC 数据验证
- springmvc后台数据验证
- SpringMVC 之 数据验证
- SpringMVC 之 数据验证
- SpringMVC数据验证
- 7. SpringMVC 数据验证
- SpringMVC数据验证
- springMVC 数据验证
- SpringMVC数据验证
- SpringMVC之数据验证
- SpringMvc 数据验证
- springmvc数据验证
- springmvc数据验证
- (二十五)基础系列 JSP/JSTL/EL
- msm8953之串口dts配置
- Python webservice
- Linux——高级网络控制
- python中日期转换
- springmvc 实现数据验证
- 蒙特卡罗方法入门
- 不能被扫雷程序搞崩的心态
- MAVEN配置详解
- Android全文获取context(上下文)的方法
- 三星8核S5P6818 核心板(ARM Cortex-A53架构)
- 第十一周 项目4(2)
- Android使用SVG的一点小坑
- 更该Docker的默认存储目录