优雅的参数验证——javax.validation
1.相关环境
1.基本环境
jdk 1.8
maven 3.2.5
springboot 2.1.5.RELEASE
2.相关依赖
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
<!--hutool-->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-core</artifactId>
<version>5.0.6</version>
</dependency>
2.使用
1.基本使用——内置注解
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vKQE9Bie-1590145275534)(https://www.xupeng.life/upload/2020/2/image-eef483deec1b413d8ae3646f0a73e9f2.png)]
例如:在我们接受前台的参数时候,可以使用javax.validation进行校验,只需要打上对应的注解就可以完成基本的验证
public class TestDto {
@NotBlank(message = "{user.register.username.not-blank}")
private String userName;
}
拓展:将对应的非法内容统一放置到对应的ValidationMessages.properties,
位置为src/main/resources下
注意:中文乱码 需要将properties的编码设置为UTF-8,在yml设置
spring:
messages:
encoding: UTF-8
例如
user.register.username.not-blank=用户名不可为空
2.拓展使用—自定义注解
我们需

这篇博客介绍了如何利用javax.validation进行优雅的参数验证,包括内置注解的基本使用,如自定义注解的详细步骤,以及源码分析。内容涵盖自定义注解的定义、实现和使用,同时探讨了验证的原理,强调了ValidatorFactory接口和HibernateValidator的实现角色。总结中指出,验证是通过注解+反射的方式,并依赖工厂模式来扩展。
最低0.47元/天 解锁文章
5055

被折叠的 条评论
为什么被折叠?



