【笔记】Day2.3.2数据校验

embedded/2024/10/17 21:29:20/

此项目中有两种数据校验方式

1.hibernate-validated注解方式

controller头上开启数据校验模式需要加入@Validated

然后就可以 在参数前面加入任意的数据校验里的注解 例如;:NotNull() @NotEmpty()等

面对字符串型的数据校验 参数前可以使用@NotBlank()

而面对对象/DTO实体数据校验时 此项目在如图中设置一个方法作为对 对象和DTO实体的数据校验 当前端数据传入时不符合hibernate-validated注解的数据校验的注解所限制的条件时 直接将不符合的message抛出

这样就能对对象和DTO实体进行数据校验了

这样做原因有二:

1.如果直接在DTO里面的对象/参数进前面添加注解 hibernate-validated不生效 所以使用AOP切面对DTO进行数据校验 这样就比下面那个方法更加的简洁(?是吗)

2.而在controller头和对象/DTO之前同时添加@validated注解虽然可以让DTO和对象成功进行校验 但是这样就很多余了


http://www.ppmy.cn/embedded/128275.html

相关文章

linux下在线安装MySQL-华为云服务器

背景:租了1年的华为云服务器,但是离线安装MySQL遇到各种问题,索性研究一下在线安装MySQL 一、下载并安装MySQL Yum Repository wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm二、安装下载的Yum Reposi…

在Windows上搭建ChatTTS:从本地部署到远程AI音频生成全攻略

文章目录 前言1. 下载运行ChatTTS模型2. 安装Cpolar工具3. 实现公网访问4. 配置ChatTTS固定公网地址 前言 本篇文章主要介绍如何快速地在Windows系统电脑中本地部署ChatTTS开源文本转语音项目,并且我们还可以结合Cpolar内网穿透工具创建公网地址,随时随…

【前端】制作一个自己的网页(4)

刚才我们完成了网页中标题与段落元素的学习。在实际开发时,一个网页通常会包含多个相同元素,比如多个标题与段落。 对于相同标签的元素,我们又该如何区分定位呢? 对多个相同的标签分类 比如右图设置了七个段落元素,它…

vue项目页面白边如何解决

这是出现白边的页面 原因是vue项目创建时在main.js下它引入了刚开始提供的main.css全局设置 直接把该设置注释掉即可, 然后在App.vue中添加如下style,就大功告成了

无人机之位置信息计算篇

一、主要导航技术 卫星导航 全球定位系统(GPS):无人机上装有专门的接收器,用于捕获GPS系统发射的无线电信号。当无人机接收到来自至少四颗卫星的信号时,通过计算信号抵达时间的微小差异,即可运用三角定位…

二叉树基本运算算法实现

目录 核心代码 完整代码 示例 核心代码 //插入结点 node* insert(node *root,ElemType value){if(rootNULL){return createNode(value);//如果树为空&#xff0c;创建新节点}if(value<root->data){//比结点小的放在左子树&#xff0c;大的放在右子树root->lchildi…

python从0快速上手(一)python环境搭建 windows macos linux

Python环境搭建超详细指南 Python是一种广泛使用的高级编程语言&#xff0c;它以其简洁的语法和强大的功能而受到开发者的喜爱。对于初学者来说&#xff0c;搭建一个合适的Python开发环境是开始Python之旅的第一步。本文将为你提供一个超级详细的Python环境搭建指南&#xff0…

2024 kali系统2024版本,可视化界面汉化教程(需要命令行更改),英文版切换为中文版,基于Debian创建的kali虚拟机

我的界面如下所示 1. 安装 locales sudo apt install locales 2. 生成中文语言环境 sudo locale-gen zh_CN.UTF-8 如果你希望安装繁体中文&#xff0c;可以加入&#xff1a; sudo locale-gen zh_TW.UTF-8 3. 修改 /etc/default/locale 文件 确保有以下内容 LANGzh_CN.UT…