From 1d32420a279bc42b356168181c3a8254dd14e1dd Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期三, 03 十一月 2021 13:50:51 +0800
Subject: [PATCH] add 增加 ValidatorUtils 校验框架工具 用于在非 Controller 的地方校验对象
---
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java | 6 +++++-
ruoyi-common/src/main/java/com/ruoyi/common/utils/ValidatorUtils.java | 25 +++++++++++++++++++++++++
2 files changed, 30 insertions(+), 1 deletions(-)
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/ValidatorUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/ValidatorUtils.java
new file mode 100644
index 0000000..7972245
--- /dev/null
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/ValidatorUtils.java
@@ -0,0 +1,25 @@
+package com.ruoyi.common.utils;
+
+import javax.validation.ConstraintViolation;
+import javax.validation.ConstraintViolationException;
+import javax.validation.Validation;
+import javax.validation.Validator;
+import java.util.Set;
+
+/**
+ * Validator 鏍¢獙妗嗘灦宸ュ叿
+ *
+ * @author L.cm
+ */
+public class ValidatorUtils {
+
+ private static final Validator VALID = Validation.buildDefaultValidatorFactory().getValidator();
+
+ public static <T> void validate(T object, Class<?>... groups) {
+ Set<ConstraintViolation<T>> validate = VALID.validate(object, groups);
+ if (!validate.isEmpty()) {
+ throw new ConstraintViolationException("鍙傛暟鏍¢獙寮傚父", validate);
+ }
+ }
+
+}
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java
index 32af7d2..66339de 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java
@@ -9,6 +9,7 @@
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.core.validate.QueryGroup;
import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.ValidatorUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.demo.domain.bo.TestDemoBo;
import com.ruoyi.demo.domain.vo.TestDemoVo;
@@ -98,7 +99,10 @@
@Log(title = "娴嬭瘯鍗曡〃", businessType = BusinessType.INSERT)
@RepeatSubmit(interval = 2, timeUnit = TimeUnit.SECONDS, message = "涓嶅厑璁搁噸澶嶆彁浜�")
@PostMapping()
- public AjaxResult<Void> add(@Validated(AddGroup.class) @RequestBody TestDemoBo bo) {
+ public AjaxResult<Void> add(@RequestBody TestDemoBo bo) {
+ // 浣跨敤鏍¢獙宸ュ叿瀵规爣 @Validated(AddGroup.class) 娉ㄨВ
+ // 鐢ㄤ簬鍦ㄩ潪 Controller 鐨勫湴鏂规牎楠屽璞�
+ ValidatorUtils.validate(bo, AddGroup.class);
return toAjax(iTestDemoService.insertByBo(bo) ? 1 : 0);
}
--
Gitblit v1.9.3