当前位置: 首页> 财经> 访谈 > ruoyi 若依框架处理@Data注解配合@Validated错误信息加入@Log日志

ruoyi 若依框架处理@Data注解配合@Validated错误信息加入@Log日志

时间:2025/7/13 13:25:19来源:https://blog.csdn.net/weixin_42512282/article/details/139854205 浏览次数:0次

简述Controller区别

ControllerAdvice:主要用于处理Controller层抛出的异常。这种方式适用于需要将异常信息渲染到页面上的情况。
RestControllerAdvice:专门用于处理Restful API抛出的异常。当Restful API抛出异常时,RestControllerAdvice会自动捕获并处理这些异常。这种方式适用于需要将异常信息以JSON格式返回给前端的情况。

操作如下:

新建ControllerGlobalExceptionHandler类

@RestControllerAdvice("com.saul.web.controller.system") //表明需要处理异常的范围
public class ControllerGlobalExceptionHandler {@Log(title = "调取接口字段异常", businessType = BusinessType.INSERT)@ExceptionHandler(value = MethodArgumentNotValidException.class) // 参数异常抛出的异常类型为MethodArgumentNotValidException,这里捕获这个异常public AjaxResult validExceptionHandler(MethodArgumentNotValidException e){System.out.println("数据异常处理");BindingResult bindingResult = e.getBindingResult();Map<String,String> map = new HashMap<>();StringBuilder mergerMessage = new StringBuilder("数据校验失败!");bindingResult.getFieldErrors().forEach((item)->{String message = item.getDefaultMessage();mergerMessage.append(message);mergerMessage.append(";");// 获取错误的属性字段名String field = item.getField();map.put(field,message);});return AjaxResult.error(HttpStatus.SAUL_ERROR, mergerMessage.toString(), new ArrayList<>());}
}

测试

发送一个包含无效数据的请求到MyController的submit方法,确保你的全局异常处理器能够捕获到MethodArgumentNotValidException异常,并将验证失败的字段信息记录到日志中。

public class MyController {  @PostMapping("/submit")  public AjaxResult submit(@RequestBody @Validated MyDto myDto) {  // 处理请求...  return AjaxResult.success(); }  
}  
关键字:ruoyi 若依框架处理@Data注解配合@Validated错误信息加入@Log日志

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: