Springboot 校验

Spring Boot 进阶-详解SpringBoot的复杂数据校验规则 通过上面的例子,我们了解了在复杂场景下如何使用数据校验,采用了默认的数据校验规则来对传入的接口数据进行校验。那么对于一些需要自定义数据校验规则才能完成数据校验的场景中我们又如何进行操作呢?那就大家多多关注,在后续的分享中我们来深入讨论关于数据校验原理相关内容。 阅读详情

@Email注解报红 是因为新版本需要validation启动器

解决方法:在pom.xml 加入下面依赖:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>

Springboot中可以用@validated来校验数据,如果数据异常则会统一抛出异常,方便异常中心统一处理。我们这里来写个注解让我们的name只能支持Email格式;

@Component //注册bean
@ConfigurationProperties(prefix = "person")
@Validated  //数据校验
public class Person {

    @Email(message="邮箱格式错误") //name必须是邮箱格式
    private String name;
}

使用数据校验,可以保证数据的正确性;
常见参数

@NotNull(message="名字不能为空")
private String userName;
@Max(value=120,message="年龄最大不能查过120")
private int age;
@Email(message="邮箱格式错误")
private String email;

空检查
@Null       验证对象是否为null
@NotNull    验证对象是否不为null, 无法查检长度为0的字符串
@NotBlank   检查约束字符串是不是Null还有被Trim的长度是否大于0,只对字符串,且会去掉前后空格.
@NotEmpty   检查约束元素是否为NULL或者是EMPTY.
    
Booelan检查
@AssertTrue     验证 Boolean 对象是否为 true  
@AssertFalse    验证 Boolean 对象是否为 false  
    
长度检查
@Size(min=, max=) 验证对象(Array,Collection,Map,String)长度是否在给定的范围之内  
@Length(min=, max=) string is between min and max included.

日期检查
@Past       验证 Date 和 Calendar 对象是否在当前时间之前  
@Future     验证 Date 和 Calendar 对象是否在当前时间之后  
@Pattern    验证 String 对象是否符合正则表达式的规则

.......等等
除此以外,我们还可以自定义一些数据校验规则
SpringBoot 参数校验 本文介绍了如何使用Hibernate Validator框架进行RESTful API参数校验。主要内容包括:1)常用校验注解如@NotBlank、@NotNull、@Pattern等;2)20+内置校验注解的功能说明;3)参数校验实现步骤:添加依赖、在类上添加@Validated注解、在方法参数上使用@Valid注解。通过参数校验可以保证数据正确性,校验失败会返回400错误响应。 阅读详情

相关推荐

SpringBoot 优雅的进行参数校验

适用范围:Date、Calendar、Instant、LocalDate、LocalDateTime、LocalTime、MonthDay、OffsetDateTime、OffsetTime、Year、YearMonth、ZonedDateTime、HijrahDate、JapaneseDate、MinguoDate、ThaiBuddhistDate。后端校验是针对整个系统的业务逻辑进行校验,包含用户的权限,请求的参数等,校验的范围要大于前端.如果不做后端的校验会怎么样呢?将一个个参数平铺到方法入参中。

wjianwei666的专栏 401

常用的校验注解(如@NotNull等)

@Null 被注释的元素必须为null @NotNull 被注释的元素不能为null @AssertTrue 被注释的元素必须为true @AssertFalse 被注释的元素必须为false @Min(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值 @Max(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值 @DecimalMin(va...

Fighting-Dawn丶的专栏 7147

海康VisionMaster使用学习笔记7-Group模块

光标需放在[]中选择循环索引,循环索引用于实现依次检测10个匹配框的顶点,若不订阅,模块会循环检测同一个匹配框。可以看到绿色是它的边缘点.为方便查看顶点,将边缘点设置为不可见。循环使能打开,开始值设为0,循环结束值设为快速匹配的匹配个数。回到上一层,点击Group工具的设置图标,圆拟合的点设置为Group工具输出的点集。图像输入源选择Group的图像输入源。区域选择Group的快速匹配的匹配框。添加订阅到Group内部的顶点检测。对匹配框区域进行顶点检测。用于定位匹配框中的顶点。添加快速匹配的匹配框。

风凌的博客 4177

SpringMVC-快速入门(五)- 校验数据

JSR是Java Specification Requests的缩写,意思是Java 规范提案。JSR303–Bean Validation 是一个数据验证的规范。常用hibernate-validator实现校验。 1、添加hibernate-validator依赖 pom.xml配置文件,添加依赖。 <!--JSR303 Bean校验--> <dependency> <groupId>org.hibernate</groupId> <arti

weixin_40017062的博客 1343

重带电粒子的能量歧离(energy straggling)

能量歧离,Bethe-Bloch

G751888629的博客 2298

DataWorks PyODPS第三方包全攻略:从打包到加载的完整流程

本文详细介绍了在DataWorks的PyODPS节点中使用第三方Python包的完整流程,包括环境限制、打包工具pyodps-pack的使用、资源上传与加载实战,以及特殊场景处理技巧。通过本文,开发者可以掌握在MaxCompute受限环境中灵活使用自定义依赖的方法,提升数据处理效率。

dd012的博客 990

Spring--实体类Date字段多种格式的校验

1、页面上传来的内容是 yyyy-MM-dd

每一次对问题的深究,总会收获新的知识和体会 5700

使用Intel编译器编译OpenFOAM

本文总结了使用INTEL编译器编译OpenFOAM的过程

姜蜉蝣的博客 1547

关于javax.validation中 @Future和@Past注解的使用

在我们项目开发中很容易碰到开始时间和结束时间参数的校验,这个时候手写去校验参数就比较麻烦,此时就可以用javax.validation中的@Future和@Past注解;@Future直接打在字段上就行这个注解还是比较常用的。@Past直接打在字段上就行这个注解还是比较常用的。这样就节省了我们去校验时间的大部分代码了。

Liangkuaijun的博客 2346

基于深度学习的灰度图像气泡群识别与优化

灰度图像气泡群深度学习识别优化研究 本研究针对MATLAB实现的深度学习气泡群识别系统在从1445个点到4992个点扩展时出现的精度不稳定问题,提出了一套完整的解决方案。文章首先分析了问题根源,包括数据复杂度增加、类别不平衡、网络容量不足等因素,然后系统性地提出了数据预处理增强、网络架构优化、训练策略调整和后处理算法改进等优化措施。通过改进的U-Net架构、自适应直方图均衡化等技术创新,有效提升了模型在大规模气泡群图像上的识别精度和稳定性,为化工、生物医学等领域的灰度图像分析提供了可靠的技术支持。

max500600的博客 412

推理篇第3节:TensorRT基础——Builder、Engine、ExecutionContext生命周期

TensorRT模型优化与推理流程摘要 TensorRT是NVIDIA的深度学习推理优化器,通过Builder、Engine和ExecutionContext三阶段实现高效推理。Builder负责编译模型,执行图优化和kernel选择;Engine是优化后的推理计划;ExecutionContext管理运行时执行。编译期进行重量级优化(如算子融合、kernel调优),运行时快速执行。TensorRT 10.x引入新API,推荐使用buildSerialized方法。构建流程包括创建Builder、网络定义、

PeterPan的博客 503

SpringMVC的学习9(@DateTimeFormat、@NotNull、@Length、@Past、@Email)

1、@DateTimeFormat:设置日期格式,springmvc中默认的类型转换器是使用“/”作为分隔,若想要更改类型格式,只需在实体类日期属性上添加@DataTimeFormat("格式")即可 在使用的时候需要注意,若自定义了类型转换器,则设置的日期可视化器就会失效,需要使用FormattingConversionServiceFactoryBean对象才可正常使用 2、在进行数据校验时,可使用@NotNull、@Length、@Past、@Email注解,这是JSR303标准的校验框架,sprin

单俞浩的博客 2414

Ollama + OpenCLAW 在 Windows 系统的完整部署指南

Windows 部署优先选 WSL2,避免原生环境的权限/兼容性问题;网络问题通过“离线包+国内镜像”解决,版本问题通过升级 Node.js 解决;内存不足可切换轻量模型或增大 WSL2 内存分配;核心链路:Ollama(模型管理)→ Gateway(网关)→ OpenCLAW TUI(交互),各组件启动正常即可稳定使用。

lpfasd123的博客 2824

springboot 优雅的参数校验_快速入手 Spring Boot 参数校验

1、背景介绍2、Spring Boot文档中的Validation3、Hibernate Validator4、Spring Validator5、示例6、补充1、背景介绍开发过程中,后台的参数校验是必不可少的,所以经常会看到类似下面这样的代码img这样写并没有什么错,还挺工整的,只是看起来不是很优雅而已。接下来,用Validation来改写这段2、Spring Boot文档中的Validatio...

weixin_39999116的博客 92

华为OD干了两个月,还是跑了

​本人工作了快13年,base南京。2024年2月份由于公司业务变动第一次拿到了公司发的大礼包,同时也面临着失业的问题,我对自己的技术还是很有信心的,但是,找了大概有一个多月时间,发现心意的工作的确不太好找,当然收到挺多家offer,就是薪资不太满意,外包也一直不想去,不过说实话外包给的薪资普遍要比自研的单位要高一些,最后为了钱还是进华为(既然选择外包那就选择好一些的吧),毕竟中年老男人工作不能断太久。

啊渊的专栏 1万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Springboot-如何优雅的进行参数校验

日常搬砖中经常遇到需要对接口方法进行校验,除了常规的 if 条件判断,是否还有更加优雅的处理方法?我们经常从公众号或者其他博文上看到的可能就是 spring-boot-starter-validation 提供的方法,今天主要对这个操作进行详细讲解,提供可以实操的方案。

px的博客 1168

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

SpringBoot参数校验

在日常项目开发中,我们都知道参数验证是必不可少的一环,但是有时候为了偷懒,把参数校验交给前端开发人员去处理,这样很容易影响系统稳定性和安全性,毕竟现在有很多手段可以绕过前端,直接后端请求接口。

abc_138的博客 3122

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

springboot参数校验

关于springboot下参数验证和统一异常捕获,可能遇到的问题,给予解决办法

qq_38316918的博客 6247

Spring Boot中参数校验

spring-boot-starter-validation

qq1929892209的博客 7849

boot spring 对参数检测_SpringBoot 参数校验的方法

Introduction有参数传递的地方都少不了参数校验。在web开发中,前端的参数校验是为了用户体验,后端的参数校验是为了安全。试想一下,如果在controller层中没有经过任何校验的参数通过service层、dao层一路来到了数据库就可能导致严重的后果,最好的结果是查不出数据,严重一点就是报错,如果这些没有被校验的参数中包含了恶意代码,那就可能导致更严重的后果。这里我们主要介绍在spring...

weixin_35034088的博客 567

SpringBoot如何进行参数校验

为安全考虑,我们开发经常会需要进行参数校验,这里简单记录下Springboot的方式。话不多说我们直接开始,首先创建一个实体类: import lombok.Data; import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Range; import javax.validation.constraints.*; import java.io.Serializable; i

Bug_Lian的博客 1892
上一篇: Springboot 快速体验
下一篇: Springboot中@PropertySource&@ImportResource&@Bean
Pancras_gc
博客等级 码龄10年 2粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值