温州15000 做网站的工作天津市建设教育培训网

bicheng/2026/1/17 19:55:16/文章来源:
温州15000 做网站的工作,天津市建设教育培训网,营销网站做推广公司,关于网站建设的实训报告文章目录 一、使用二、常用注解三、Valid or Validated #xff1f;四、分组校验1. 分组校验的基本概念2. 定义验证组3. 应用分组到模型4. 在控制器中使用分组5. 总结 一、使用 要使用这些注解#xff0c;首先确保在你的 Spring Boot 应用的 pom.xml 文件中添加了 spring-bo… 文章目录 一、使用二、常用注解三、Valid or Validated 四、分组校验1. 分组校验的基本概念2. 定义验证组3. 应用分组到模型4. 在控制器中使用分组5. 总结 一、使用 要使用这些注解首先确保在你的 Spring Boot 应用的 pom.xml 文件中添加了 spring-boot-starter-validation 依赖。然后你可以将这些注解应用于你的模型类字段上。在你的控制器方法中你可以使用 Valid 或 Validated 注解来触发验证例如 PostMapping(/users) public ResponseEntity? createUser(Valid RequestBody User user) {// 如果存在验证错误会抛出异常// 正常业务逻辑 }在这个例子中如果 User 对象的字段不满足注解定义的验证规则Spring 将抛出一个异常你可以通过全局异常处理或控制器层的异常处理来处理这些异常并向用户返回适当的响应。 二、常用注解 spring-boot-starter-validation 依赖包引入了 Java Bean Validation API通常基于 Hibernate Validator 实现提供了一系列注解来帮助你对 Java 对象进行验证。以下是一些常用的验证注解及其含义和使用方式 NotNull: 确保字段不是 null。 public class User {NotNull(message 用户名不能为空)private String username;// 其他字段和方法 }NotEmpty: 确保字段既不是 null 也不是空对于字符串意味着长度大于0对于集合意味着至少包含一个元素。 public class User {NotEmpty(message 密码不能为空)private String password;// 其他字段和方法 }NotBlank: 确保字符串字段不是 null 且至少包含一个非空白字符。 public class User {NotBlank(message 邮箱不能为空且不能只包含空格)private String email;// 其他字段和方法 }Size: 确保字段字符串、集合、数组符合指定的大小范围。 public class User {Size(min 2, max 30, message 用户名长度必须在2到30之间)private String username;// 其他字段和方法 }Min 和 Max: 对数值类型字段设置最小值和最大值。 public class User {Min(value 18, message 年龄必须大于等于18)Max(value 100, message 年龄必须小于等于100)private int age;// 其他字段和方法 }Email: 确保字段是有效的电子邮件地址。 public class User {Email(message 无效的邮箱格式)private String email;// 其他字段和方法 }Pattern: 确保字符串字段匹配正则表达式。 public class User {Pattern(regexp ^[a-zA-Z0-9]$, message 用户名只能包含字母和数字)private String username;// 其他字段和方法 }Positive 和 PositiveOrZero: 确保数值字段是正数或者正数和零。 public class Product {Positive(message 价格必须是正数)private BigDecimal price;// 其他字段和方法 }三、Valid or Validated Valid 和 Validated 注解都用于数据验证但它们在使用和功能上有一些差异 Valid: 来源于 JSR 303/JSR 380 Bean Validation API。可以用在方法参数上以触发对传递给该方法的对象的验证。这通常在 Spring MVC 中用于验证带有 RequestBody 或 ModelAttribute 注解的参数。不支持验证组的概念这意味着不能控制验证的顺序或验证特定的子集。 示例 PostMapping(/users) public ResponseEntity? createUser(Valid RequestBody User user) {// 业务逻辑 }Validated(推荐): 是 Spring 的特有注解不是 JSR 303/JSR 380 的一部分。支持验证组允许您更灵活地指定在特定情况下应用哪些验证约束。例如可以根据不同的操作如创建、更新定义不同的验证规则。可以用在类型级别在类上和方法参数上。在类型级别使用时它会触发该类中所有带有验证注解的方法的验证。 示例 PostMapping(/users) public ResponseEntity? createUser(Validated RequestBody User user) {// 业务逻辑 }在实际使用中如果你需要简单的验证功能Valid 是一个很好的选择。如果你需要更复杂的验证逻辑比如验证组那么 Validated 更适合。此外Validated 可以应用在类级别从而对一个类的多个方法进行验证这在使用 Spring 服务层时非常有用。 四、分组校验 分组校验Group Validation是一种在 Java Bean Validation 中用于在不同上下文中应用不同验证规则的方法。这对于那些在不同情况下例如创建 vs 更新需要不同验证规则的对象特别有用。 1. 分组校验的基本概念 在分组校验中你可以定义多个接口通常为空来表示不同的验证组。然后你可以在验证注解中指定这些接口以表明该注解仅在验证特定组时应用。 例如你可能有一个User类其中某些字段在创建用户时是必需的但在更新用户时可能是可选的。 2. 定义验证组 首先定义两个空接口作为验证组 public interface OnCreate {} public interface OnUpdate {}3. 应用分组到模型 然后在你的模型类中使用这些接口作为验证注解的参数 public class User {NotNull(groups OnCreate.class)private Long id;NotBlank(groups {OnCreate.class, OnUpdate.class})private String username;Email(groups {OnCreate.class, OnUpdate.class})private String email;// 其他字段和方法 }在这个例子中id 字段仅在创建用户时需要验证OnCreate组而 username 和 email 字段在创建和更新用户时都需要验证。 4. 在控制器中使用分组 最后在你的控制器方法中使用 Validated 注解指定要应用的验证组 PostMapping(/users) public ResponseEntity? createUser(Validated(OnCreate.class) RequestBody User user) {// 创建用户的业务逻辑 }PutMapping(/users) public ResponseEntity? updateUser(Validated(OnUpdate.class) RequestBody User user) {// 更新用户的业务逻辑 }在这个例子中createUser 方法只会验证属于 OnCreate 组的字段而 updateUser 方法则只会验证属于 OnUpdate 组的字段。这样你就可以根据不同的操作自定义验证逻辑了。 5. 总结 通过使用分组校验你可以为同一个对象的不同操作设置不同的验证规则这在复杂应用中非常有用。这种方法提高了代码的灵活性和可维护性。

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

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

相关文章

微网站预览黄页网站数据来源

在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括招聘信息管理系统的网络应用,在外国招聘信息管理系统已经是很普遍的方式,不过国内的线上管理系统可能还处于起步阶段。招聘信息管理系统具有招聘信息管…

网站设计报告免费网站域名查询

目录 1.双链表的定义 2.双链表的创建和初始化 3.双链表的插入节点操作 4.双链表的删除节点操作 5.双链表的查找节点操作 6.双链表的更新节点操作 7.完整代码 🌈嗨!我是Filotimo__🌈。很高兴与大家相识,希望我的博客能对你有所帮助…

后海做网站公司北京汽车网站建设

本章提供了CUDA C编程模型的快速、简化的概述。CUDA扩展C语言以支持并行计算。在本章中,我们讨论了这些扩展的基本子集。为了您的方便,我们将本章中讨论的扩展总结如下: FUNCTION DECLARATIONS CUDA C扩展了C函数声明语法,以支持…

微网站上的一键导航怎么做网站建设类型有哪些方面

1.设置JVM运行内存 1.1编辑eclipse.ini 1.2 编辑eclipse.ini,设置jvm运行内存参数,最小内存:物理内存*0.2, 最大内存: 物理内存*0.6; 其中-vmargs为必须添加参数(-vmargs的意思是设置JVM参数),…

网站改版方案流程小区网络设计方案

multipassd通常是multipass服务的后台守护进程,它负责管理和控制虚拟机实例。 命令区别 例: multipass restart my-vm 这个命令用于重启Multipass中的虚拟机实例。例如有一个名为my-vm的虚拟机实例。 multipassd restart 这会重新启动Multipass后台…

用WordPress建什么站好wordpress本地上传头像插件

目录 概述 一、快速路径分配 1、get_page_from_freelist 2、rmqueue()函数 二、慢速路径分配 1、分配流程 三、direct_compact 概述 物理内存分配步骤 1、初始化,参数初始化 2、内存充足,快速分配 get_page_from_freelist 3、内存压力大,慢速…

手机网站底部导航有什么做论文的网站

目的 让代码更好维护,让多种数据分类更加明确(不同的模块挤在一个index.js中显得臃肿且不方便管理) 实现方式 修改store/index.js(也可以将不同模块分别写在不同的js文件中) const countAbout {//开启命名空间namespaced:true,actions:{..…

wordpress锚文本贵州快速整站优化

文章目录 一、前言二、错误信息如下三、参考链接 一、前言 在Room数据库结构变动的情况下,如果没有进行Room数据库升级迁移,则会报错Room cannot verify the data integrity.。在实际开发过程中,数据库结构会经常变化,直到发版。…

服装网站怎么做的wordpress文章分类页面

目录 1 图像的特征匹配 2 图像中提取GPS位置信息 2.1 写入GPS信息到图像中 2.2 读取带有GPS的图像 3 SIFT/AKAZE/AKAZE_MLDB特征提取对比 4 GMS Filter 5 将球形全景图转换为6个透视视图 6 照片组重建点云 1 图像的特征匹配 #include "openMVG/features/feature.…

非盈利网站建设问题响应式品牌网站设计

1 设备的概念 在学习驱动和其开发之前,首先要知道所谓驱动,其对象就是设备。 1.1 主设备号&次设备号: 在Linux中,各种设备都以文件的形式存在/dev目录下,称为设备文件。最上层的应用程序可以打开,关…

怎么在工商局网站做股东变更北京免费网站建设模板

垃圾邮件(Spam)的泛滥成灾一直是电子邮件系统中的一个严峻问题。随着垃圾邮件技术的不断演变,传统的过滤方法逐渐显得力不从心。因此,本项目旨在利用支持向量机(SVM)这一强大的机器学习工具,实现…

乐清开发网站公司自己建还是找代理建网站

光伏连接器 电子元器件百科 文章目录 光伏连接器前言一、光伏连接器是什么二、光伏连接器的类别三、光伏连接器的应用实例四、光伏连接器的作用原理总结前言 常用的光伏连接器类型包括MC4、MC3、Amphenol和Tyco等,它们根据连接方式、电气性能和标准规范等因素进行设计和选择…

企业网站建设哪家服务好网络营销包括

2024年山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题-B卷 2024年山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题-B卷A模块基础设施设置/安全加固(200分)A-1:登录安全加固(Windows, Linux)A-2&#…

西安做网站必达网络上海网站建设工作

个人主页:点我进入主页 专栏分类:C语言初阶 C语言程序设计————KTV C语言小游戏 C语言进阶 C语言刷题 数据结构初阶 Linux 欢迎大家点赞,评论,收藏。 一起努力,共赴大厂。 目录 一.前言 二.插入排序 …

有自己网站好处北京注册公司代理机构排名

目录 访问字符串中的值 Python字符串运算符 Python 字符串格式化 str.format() 数字格式化 多行注释 f-string Unicode 字符串 Python 的字符串内建函数 我们可以用单引号或者双引号"来创建字符串。 创建字符串很简单,给变量分配一个值即可例如 ahell…

给个网站手机能看的河南23个岗位无人报考

文章目录 什么是主键生成策略?MyBatis Plus 中的主键生成策略如何在 MyBatis Plus 中配置主键生成策略 什么是主键生成策略? 在数据库中,每一行数据都需要一个唯一的标识符,这就是主键。主键生成策略决定了如何为新插入的行生成这…

网站单个页面紧张搜索引擎蜘蛛企业品牌宣传片制作

该读书笔记大多内容参照了大神浅墨的该篇文章https://zhuanlan.zhihu.com/p/35974789 本章介绍了一种在GPU中模拟和渲染大的水体的系统。它把基本网格的集合波动于动态发现贴图的生成结合起来。 1.1 目标和范围 这章里,我们将由计算简单正弦函数之和开始&#xf…

网站建设多少钱一个平台可以看设计的网站有哪些

前言 很久没写博客了,今天难得闲下来写一次。 不知道大家在使用git的时候有没有遇到过这样的问题:发现git submodule特别好用,适合用于满足同时开发和部署的需求,并且结构清晰,方便我们对整个代码层次有一个大概的了…

北京亦庄做网站公司邯郸网站开发公司电话

一、应用架构演变历史: 单一应用架构 -> 垂直应用架构 -> 分布式服务架构 -> 微服务架构。 单一应用架构 当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。 此时,用于简化增删…