4 Commits

Author SHA1 Message Date
Pcat
87593fe9a4 Pre Merge pull request !260 from Pcat/pref-3.6.1.pcat 2025-03-10 03:45:43 +00:00
若依
a6bcebb62b !397 修复actuator暴漏问题
Merge pull request !397 from 威士忌的纯度/N/A
2025-03-10 03:45:34 +00:00
威士忌的纯度
1cb262daa3 修复actuator暴漏问题
Signed-off-by: 威士忌的纯度 <whr888888@vip.qq.com>
2025-03-07 10:22:52 +00:00
huyupeng
e142d5f4d8 perf: 优化自定义验证异常提示 2022-10-11 17:25:47 +08:00
2 changed files with 21 additions and 4 deletions

View File

@@ -29,7 +29,7 @@ http {
}
# 避免actuator暴露
if ($request_uri ~ "/actuator") {
if ($uri ~ "/actuator") {
return 403;
}

View File

@@ -1,9 +1,14 @@
package com.ruoyi.common.security.handler;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.collections4.CollectionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.validation.BindException;
import org.springframework.validation.BindingResult;
import org.springframework.validation.FieldError;
import org.springframework.validation.ObjectError;
import org.springframework.web.HttpRequestMethodNotSupportedException;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.MissingPathVariableException;
@@ -21,6 +26,8 @@ import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.utils.html.EscapeUtil;
import com.ruoyi.common.core.web.domain.AjaxResult;
import java.util.List;
/**
* 全局异常处理器
*
@@ -141,9 +148,19 @@ public class GlobalExceptionHandler
@ExceptionHandler(MethodArgumentNotValidException.class)
public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException e)
{
log.error(e.getMessage(), e);
String message = e.getBindingResult().getFieldError().getDefaultMessage();
return AjaxResult.error(message);
BindingResult result = e.getBindingResult();
List<ObjectError> errors = result.getAllErrors();
String message = "请填写正确信息";
if (!result.hasErrors() || CollectionUtils.isEmpty(errors)) {
return AjaxResult.error(message);
}
errors.forEach(p -> {
FieldError fieldError = (FieldError) p;
log.warn("Data check failure: object[{}],field[{}],errorMessage[{}]", fieldError.getObjectName(),
fieldError.getField(), fieldError.getDefaultMessage());
});
FieldError fieldError = (FieldError) errors.get(0);
return AjaxResult.error(StringUtils.isEmpty(fieldError.getDefaultMessage()) ? message : fieldError.getDefaultMessage());
}
/**