完成了Web端课程模块
This commit is contained in:
@ -50,16 +50,29 @@ public class GlobalExceptionHandler {
|
||||
// 处理参数绑定失败的异常
|
||||
@ExceptionHandler(MethodArgumentNotValidException.class)
|
||||
public BaseResponse<?> handleMethodArgumentNotValidException(MethodArgumentNotValidException e) {
|
||||
StringBuilder errors = new StringBuilder();
|
||||
// 按字段名排序,确保每次返回的顺序一致
|
||||
e.getBindingResult().getFieldErrors().stream()
|
||||
.sorted(Comparator.comparing(FieldError::getField)) // 按字段名排序
|
||||
.forEach(fieldError -> errors.append("参数: ")
|
||||
.append(fieldError.getField())
|
||||
.append(" | 错误: ")
|
||||
.append(fieldError.getDefaultMessage())
|
||||
.append("; "));
|
||||
return ResultUtils.error(ErrorCode.PARAMS_ERROR, errors.toString());
|
||||
// StringBuilder errors = new StringBuilder();
|
||||
// // 按字段名排序,确保每次返回的顺序一致
|
||||
// e.getBindingResult().getFieldErrors().stream()
|
||||
// .sorted(Comparator.comparing(FieldError::getField)) // 按字段名排序
|
||||
// .forEach(fieldError -> errors.append("参数: ")
|
||||
// .append(fieldError.getField())
|
||||
// .append(" | 错误: ")
|
||||
// .append(fieldError.getDefaultMessage())
|
||||
// .append("; "));
|
||||
// return ResultUtils.error(ErrorCode.PARAMS_ERROR, errors.toString());
|
||||
|
||||
// 从所有 FieldError 里,排序后取第一个
|
||||
FieldError firstError = e.getBindingResult()
|
||||
.getFieldErrors().stream().min(Comparator.comparing(FieldError::getField))
|
||||
.orElse(null);
|
||||
|
||||
// 直接取它的 defaultMessage,即注解里配置的 message
|
||||
String msg = (firstError != null)
|
||||
? firstError.getDefaultMessage()
|
||||
: "参数校验失败";
|
||||
|
||||
// 返回时只带 msg,不再拼前缀或字段名
|
||||
return ResultUtils.error(ErrorCode.PARAMS_ERROR, msg);
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user