当前位置: 首页 > news >正文

网站建设的中期报告网页qq登陆聊天

网站建设的中期报告,网页qq登陆聊天,品牌取名,免费做网站软件下载MethodArgumentNotValidException 和ConstraintViolationException 都是用于处理参数校验异常的异常类,但它们在不同的上下文中使用。 1. MethodArgumentNotValidException: - MethodArgumentNotValidException 是在 Spring MVC 或 Spring Boot 中处…

MethodArgumentNotValidException 和ConstraintViolationException 都是用于处理参数校验异常的异常类,但它们在不同的上下文中使用。

1. MethodArgumentNotValidException:
   - MethodArgumentNotValidException 是在 Spring MVC 或 Spring Boot 中处理参数校验异常时抛出的异常。继承至BindException 属于检测异常
   - 当使用注解(如 @Valid)进行参数校验时,如果参数违反了约束条件,就会抛出 MethodArgumentNotValidException 异常。
   - 通常,该异常是在控制器(Controller)中接收到请求参数后发生的,它包含了关于哪个参数违反了约束条件以及相应的错误消息。
   - 可通过编写全局异常处理器 @ExceptionHandler(MethodArgumentNotValidException.class) 来捕获和处理此异常。

2. ConstraintViolationException:
   - ConstraintViolationException 是在 Java Bean Validation(JSR 380)规范中定义的一个异常类。属于非检查异常
   - 当使用注解进行参数校验时,如果参数违反了约束条件(例如,@NotNull、@Size、@Pattern等),就会抛出 ConstraintViolationException 异常。
   - 该异常不局限于 Spring MVC 或 Spring Boot,可以用于任何遵循 Java Bean Validation 规范的环境。
   - 可通过编写对应的异常处理器来捕获和处理此异常。

注意:

1.对于参数校验异常 中MethodArgumentNotValidException 无法捕获的异常可以用 ConstraintViolationException捕获处理

2.对于集合参数List<Object>中具体对象的属性校验一般情况下MethodArgumentNotValidException捕获不了,可以用ConstraintViolationException找到是集合参数中中具体哪一个对象参数校验失败  处理代码举例

@ResponseBody@ExceptionHandler(value = ConstraintViolationException.class)public Result<xx> doHandException(ConstraintViolationException e) {log.error("服务异常:", e);ConstraintViolationException validException = (ConstraintViolationException) e;Set<ConstraintViolation<?>> violations = validException.getConstraintViolations();// 将验证失败的信息转换为自定义的错误信息List<String> errorMessages = new ArrayList<>();for (ConstraintViolation<?> violation : violations) {String errorMessage = violation.getPropertyPath() + ": " + violation.getMessage();errorMessages.add(errorMessage);String str = JSON.toJSONString(violation.getExecutableParameters()[0]);errorMessages.add(str);}log.error(JSON.toJSONString(errorMessages));// 构建错误响应return new ResponseEntity<>(Result<xx>.xxx(errorMessages.get(0)), HttpStatus.BAD_REQUEST);}

http://www.dtcms.com/a/443118.html

相关文章:

  • 什么网站做执法仪商业网站开发设计报告
  • 海南省建设局网站搜索咋样做班级主页网站
  • 成品网站源码1688体验区网站图片列表怎么做
  • 网站建站网站设计以绿色为主的网站
  • 嘉兴免费网站建站模板化工类 网站模板
  • 网站建设整个流程图威联通怎么建设网站
  • Spring AI 从入门到实战-目录
  • 为什么没有人做像58一样的网站湖南城市建设网站
  • C++进阶(6)——lambda表达式
  • 数据结构(2)-------- 线性表
  • 网站建设 源代码asp.net 做网站
  • C++ :std::bind 还能用吗?它和 Lambda 有什么区别?
  • 优秀网站特点广告制作安装工
  • 威海做网站的哪家好玉树电子商务网站建设
  • 网站建设 引导帮企业建设网站销售
  • 网站建设必备条件dw制作网页步骤
  • 网络协议分层与Socket编程详解
  • 【Svelte 5】当改变$state中的属性值,但是该属性并未在页面中使用,会导致页面重写渲染吗?
  • 基于SpringBoot+Vue的万佳连锁使利店库存管理系统(Echarts图形化分析)
  • 第二章:BI的原理与技术架构
  • 上海万网网站建设湖北住房和城乡建设厅网站
  • 学习Java第三十天——黑马点评37~42
  • 北京网站建设价钱公众号文章制作
  • 长沙机械网站建设昆明最新消息今天
  • 深度解析 Python 报错:TypeError: ‘NoneType‘ object is not subscriptable
  • 泉州市城乡和住房建设网站大连装修公司
  • 哈巴河网站制作今天的最新消息新闻
  • 做网站猫腻大吗电商网站建设功能
  • 站长论坛网站模板建站教程
  • 淮南网站建设服务免费wordpress中文主题下载