@Valid注解配合属性校验注解完成参数校验并且优化异常处理

news2024/12/29 4:40:05

Valid注解配合属性校验注解完成参数校验并且优化参数校验异常处理

  • 1 @Valid注解配合属性校验注解完成参数校验
  • 2 优化参数校验异常处理

1 @Valid注解配合属性校验注解完成参数校验

向数据库商品分类表中新增商品分类字段,并校验传入的参数
不使用注解的传统方法:
在这里插入图片描述
在这里插入图片描述

使用注解的方法:
@Valid加在controller层的AddCategoryReq类参数前
在这里插入图片描述

@Size、@NotNull、@Max加在AddCategoryReq类属性上面
在这里插入图片描述
这样,前台通过json传递的数据,通过@RequestBody封装为对象后,@Valid就会校验对象中各个字段是否符合限制。

现在的问题是,对于不符合限制的异常,都包含在Exception类中,不能具体显示message中的信息
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2 优化参数校验异常处理

在全局异常处理类中处理这个参数校验异常:MethodArgumentNotValidException
在这里插入图片描述
在这里插入图片描述

objectError.getDefaultMessage

就可以获得错误信息(属性上面的message定义的)
并保存到ArrayList中,最后list.toString()返回String类型信息,保存到msg属性中,统一为ApiRestResponse返回对象。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/336957.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于python+django社区报修维修平台

本系统主要分为前后和后台页面,前台页面主要功能有:首页,座位信息,交流论坛,公告信息,个人中心,后台管理。后台页面分为:首页,个人中心,学生管理,教师管理,座位信息管理,座位预约管理,班级信息管理,签到信息管理,离开信息管理,座位暂离管理,举报信息管理…

MLX90614红外温度计介绍

MLX90614红外温度计简介MLX90614是一款红外非接触温度计。TO-39金属封装里同时集成了红外感应热电堆探测器芯片和信号处理专用集成芯片。由于集成了低噪声放大器、17位模数转换器和强大的数字信号处理单元,使得高精度和高分辨度的温度计得以实现。温度计具备出厂校准…

如何上传文件

在页面上面&#xff0c;form 表单里面添加属性enctype"multipart/form-data" 比如&#xff1a; <form name"frm" method"post" enctype"multipart/form-data"> 添加文件选择框&#xff1a; <input type"file" na…

安全上下文

目录 文章目录目录本节实战前言1、为 Pod 设置 Security Context2、为容器设置 Security Context3、设置 Linux Capabilities1.Linux Capabilities&#xff08;1&#xff09;什么是 Capabilitie&#xff08;2&#xff09;Capabilities 的赋予和继承&#xff08;3&#xff09;如…

ctfshow 年ctf

文章目录除夕初一初二初三初四初五初六官方wp除夕 include "flag.php";$year $_GET[year];if($year2022 && $year1!2023){echo $flag; }else{highlight_file(__FILE__); }弱比较和强比较的问题 2023那里是强比较&#xff0c;还是很容易的 /?year2022.0科…

CHI协议定义的NOC组件

请求结点RN 可以向NOC发送读/写等请求事务&#xff0c;有以下几种类型的RN&#xff1a; RN-F 一般是处理器核或者核簇结点&#xff0c;包含了局部cache和一致性部件snoopee。与NOC上的一致性部件一起&#xff0c;维护“可缓存”数据的一致性&#xff08;这种可缓存数据…

实验名称:基于C/S的命名管道通信

实验名称&#xff1a;基于C/S的命名管道通信 相关知识 无名管道 无名管道&#xff08;匿名管道&#xff09;用于具有亲缘关系进程间的通信&#xff0c;其特点有 管道是半双工的&#xff0c;数据单向流动&#xff08;双方通信需建立两个通道&#xff09;管道只能用于父子进程…

2023年房地产投资-租金和IRR研究报告

第一章 概况 房地产投资租赁是指置业投资者在购买到物业后&#xff0c;首先对该物业进行适当整饰与装修&#xff0c;之后以出租人的身份&#xff0c;以口头协议或签订合同的形式&#xff0c;将房屋交付承租人占有、使用与收益&#xff0c;由承租人向出租人交付租金的行为。通过…

第一章 企业管理概论

目录 一、企业及其形式 二、企业管理概述 三、企业管理理论与实践的产生与发展 四、网络时代的企业环境 五、网络时代企业管理的变革 一、企业及其形式 1、企业的概念 企业以市场为导向&#xff0c;以价值增值作为经济活动的目的&#xff1b; 企业是从事商品生产和流通的…

BUG解决:微信小程序调用vantweapp遮罩层popup 更改show后没反应,弹框/遮罩层不隐藏,show失效

一、bug复现&#xff1a;引入popup组件&#xff0c;时间选择组件json>"usingComponents": {"van-datetime-picker": "vant/weapp/datetime-picker/index","van-popup": "vant/weapp/popup/index"}页面想实现&#xff0c;…

当我以为z-library已死的时候 它居然又活了?!!

z-library 全世界最大的图书馆What Happened To Z-lib?zlib的复活只是暂时的deepweb会让zlib得到永生&#xff01;真心祝愿zlib的Plans for 2023能够实现What Happened To Z-lib? 这是曾经的zlib&#xff0c;域名是z-lib.org&#xff0c;然而现在死了&#xff08;22年11月时…

Grafana 系列文章(十三):如何用 Loki 收集查看 Kubernetes Events

前情提要 IoT 边缘集群基于 Kubernetes Events 的告警通知实现IoT 边缘集群基于 Kubernetes Events 的告警通知实现&#xff08;二&#xff09;&#xff1a;进一步配置 概述 在分析 K8S 集群问题时&#xff0c;Kubernetes Events 是超级有用的。 Kubernetes Events 可以被当…

Windows 10 Creators版本中的11个大亮点

导读微软在近日公布了有关明年Windows 10更新部分的大量功能&#xff0c;但该公司在其Creators更新版本中悄悄隐藏了远超出11项新的功能。其实&#xff0c;在这个更新包中还将包含许多内容&#xff0c;包括增加一个新的应用程序&#xff0c;以及针对Edge浏览器、地图应用程序和…

蓝牙耳机什么牌子好用又便宜?好用不贵的蓝牙耳机推荐

随着时代的进步&#xff0c;数码产品在人们日常生活中的使用频率越来越高&#xff0c;一部手机&#xff0c;一副耳机似乎已然成为人们出行必备。蓝牙耳机的发展速度很快&#xff0c;在众多的蓝牙耳机牌子中&#xff0c;什么牌子好用又便宜&#xff1f;下面&#xff0c;我来给大…

MySQL的四种安装

一、仓库安装 1、添加MySQL仓库 将MySQL-Yum存储库添加到系统的存储库列表中。这是一个一次性操作&#xff0c;可以通过安 装MySQL提供的RPM来执行。转到MySQL Yum存储库页面在MySQL开发板块。可以通过Web下载然后转到自己的RHEL9.1虚拟机上&#xff1b;也可以使用RHEL9上使用…

Java常见关键字总结

final,static,this,super 关键字总结 final 关键字static 关键字this 关键字super 关键字参考 static 关键字详解 static 关键字主要有以下四种使用场景 修饰成员变量和成员方法(常用)静态代码块静态内部类静态导包 补充内容 静态方法与非静态方法static{}静态代码块与{}非静态…

apache和nginx的TLS1.0和TLS1.1禁用处理方案

1、TLS1.0和TLS1.1是什么&#xff1f; TLS协议其实就是网络安全传输层协议&#xff0c;用于在两个通信应用程序之间提供保密性和数据完整性&#xff0c;TLS 1. 0 和TLS 1. 1 是分别是96 年和 06 年发布的老版协议。 2、为什么要禁用TLS1.0和TLS1.1传输协议 TLS1.0和TLS1.1协…

项目实战-NewFixedThreadPool线程池

目录 什么是线程池 线程池的类型 1.CachedThreadPool 2.FixedThreadPool 3.ScheduledThreadPool 4.SingleThreadPool 5.newWorkStealingPool 线程池的好处 1、线程池的重用 2、控制线程池的并发数 3、线程池可以对线程进行管理 线程池的示例 1.Client启动类 2.具体…

Linux中man手册的使用

在linux中&#xff0c;不管是库函数还是系统调用&#xff0c;都用到man手册来查看函数的三要素(功能、参数、返回值)&#xff0c;这里就详细的介绍一下man手册的使用。这里需要注意的是&#xff1a;对于初学者来说,不能将手册页当教程&#xff0c;因为它只是简明的参考资料. Li…

Linux进程控制详解

目录前言一、进程创建1.1 fork函数初识1.2 写时拷贝1.3 fork常规用法1.4 fork调用失败的原因二、进程终止2.1 进程终止时&#xff0c;操作系统做了什么&#xff1f;&#xff1f;2.2 进程终止的常见方式有哪些&#xff1f;&#xff1f;2.3 如何用代码终止一个进程三、进程等待3.…