平时在开发接口的时候,常常会需要对参数进行校验,这里提供两种处理校验逻辑的方式。一种是使用Hibernate Validator来处理,另一种是使用全局异常来处理,下面我们讲下这两种方式的用法。
SpringBoot实战电商项目mall(30k+star)地址:https://github.com/macrozheng/mallHibernate Validator
转载
2024-05-31 23:16:09
34阅读
这里写目录标题前言1.使用验证注解2 使用自定义验证注解3 在服务器端验证4 提供有意义的错误信息5 将 i18n 用于错误消息messages.properties6 使用分组验证7 对复杂逻辑使用跨域验证8 对验证错误使用异常处理9 测试你的验证逻辑10 考虑客户端验证总结 前言参数验证很重要,是平时开发环节中不可少的一部分,但是我想很多后端同事会偷懒,干脆不错,这样很可能给系统的稳定性和安
转载
2024-08-23 16:21:59
199阅读
1,小结 :springboot 各种参数校验 ,一般除了前端校验外,后台对接口 也要做强制参数校验(出于接口安全和参数格式不正确 考虑),规范考虑 一般对外提供的接口 或者 给别人调用 的公用方法(如工具类) 必须要求 强制参数校验 1.1,常规校验 1.2 ,分组校验 @Valid 注解是java javax.validation 包下面
转载
2024-02-21 11:55:29
404阅读
前言 之前参与的新开发者平台研发的过程中,由于不同的接口需要对不同的入参进行校验,这就涉及到通用参数的校验封装,如果不进行封装,那么写出来的校验代码将会风格不统一、校验工具类不一致、维护风险高等其它因素,于是我对其公共的校验做了一个封装,达到了通过注解的方式即可实现参数统一校验。遇到的问题 在封装的时候就发现了一个问题,就是返回的报文都必须是统一风格,也就是类似于{code:999,m
本文作者:Jitwxs 一、前言在日常开发中,经常会遇到需要在配置文件中,存储 List 或是 Map 这种类型的数据。Spring 原生是支持这种数据类型的,以配置 List 类型为例,对于 .yml 文件配置如下:test:
list:
- aaa
- bbb
- ccc
对于 .properties 文件配置如下所示:
test.list[0]=aaa
test.list[1]=bbb
te
转载
2024-07-26 10:12:52
44阅读
数据脱敏实现1.数据脱敏的概念数据脱敏(Data Masking)是一种数据保护技术,用于隐藏或替换敏感数据,以保护数据的隐私和安全性,同时尽量保持数据的可用性和一定的格式保留。数据脱敏的目的是在数据使用和共享的过程中,对敏感数据进行保护,防止敏感信息泄露、滥用或未经授权的访问。常见的敏感数据包括个人身份证号码、姓名、手机号码、银行账号、社会保险号等。 eg:类型原始数据脱敏数据手机1324876
转载
2024-09-16 01:06:09
43阅读
“status”: 500,
“message”: “test3.email: 不是一个合法的电子邮件地址”,
“data”: null,
“timestamp”: 1628239281022
}通过加入 Validator校验框架可以帮助我们自动实现参数的校验。参数异常加入全局异常处理器虽然我们之前定义了全局异常拦截器,也看到了拦截器确实生效了,但是 Validator校验框架返回的错误提示太臃
转载
2024-08-29 11:19:56
202阅读
springboot中的常用注解有:1、SpringBootApplication;2、Repository;3、Service;4、RestController;5、ResponseBody;6、Component等。 springboot中的常用注解有:1、@SpringBootApplication这个注解是Spring Boot最核心的注解,用在 Spring Boot的主类上,
转载
2024-06-24 10:42:14
39阅读
1、前言在日常开发中,当开发某一个模块或者功能时,首先要考虑的是业务逻辑和业务场景,然后会根据业务逻辑和场景进行代码的编写,这其中可能会牵涉到很多的逻辑判断,必要时可能需要与数据库做交互。但有时开发人员自己也不知道是否把所有的业务场景都包含进去,是否有些逻辑判断可能压根都没有用到,所以一般在开发之后都需要开发人员先对自己所编写的代码进行自测,测试功能是否通畅等,有些可能需要检测测试代码是否覆盖到所
转载
2024-03-21 09:56:51
134阅读
首先先给出mini版项目@Data
public class User {
@NotNull
@Size(min = 1)
private List<String> strings;
}
@RequestMapping("")
public User hello(@Validated @RequestBody User user) {
转载
2024-06-25 20:17:56
337阅读
Springboot参数校验validator内置注解注解详细信息@Null被注释的元素必须为 null@NotNull被注释的元素必须不为 null@AssertTrue被注释的元素必须为 true@AssertFalse被注释的元素必须为 false@Min(value)被注释的元素必须是一个数字,其值必须大于等于指定的最小值@Max(value)被注释的元素必须是一个数字,其值必须小于等于指
转载
2024-03-21 09:44:11
2419阅读
SpringBoot Validator 参数校验常用配置一:常用注解二:附加注解三: 用BindingResult接收错误信息四: group分类属性五:不用BindingResult的情况.写在Exception统一配置类中六:方法中验证对象属性 简介Spring Validation 是在Spring Context下的,在Spring Boot项目中,我们引入spring-boot-st
spring-boot v2.3 以上版本需要手动导入依赖包 <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</depe
转载
2024-02-08 06:44:41
90阅读
SpringBoot中集成参数校验引入依赖自定义参数校验创建自定义注解自定义校验逻辑在校验对象的属性上加上注解分组校验定义分组接口在UserVO对象参数分配分组在需要参数校验的方法指定分组 SprinBoot集成参数校验Validator,以及参数校验的高阶技巧。 Validator校验框架遵循了JSR-303验证规范(参数校验规范), JSR是Java Specification Requ
转载
2023-12-16 16:10:00
675阅读
目录前言注解 @validated 的使用注解 @validated 校验参数类可用的校验注解手动处理错误嵌套校验@pathvariable的校验手动校验自定义约束注解参考 前言spring-boot中可以用@validated来校验数据,如果数据异常则会统一抛出异常,方便异常中心统一处理。 spring-boot已经引入了基础包,所以直接使用就可以。注解 @validated 的使用@Rest
转载
2024-03-16 00:07:47
1119阅读
spring boot项目中常用的配置文件格式为 key:value,这里记录一下被面试问到的map和list配置文件是如何配置的。一、具体步骤1、对象、Map(属性和值)(键值对)例如配置类中的字段为Map<String,Object> maps;在yml配置文件中,行内写法person.maps: {key1: value1,key2: value2}需要注意:号后的空格,或者pe
转载
2023-09-06 18:49:04
966阅读
概念 异常,在程序中经常发生,如果发生异常怎样给用户一个良好的反馈体验就是我们需要处理的问题。以前处理异常信息,经常都是给前端一个统一的响应,如数据错误,程序崩溃等等。没办法指出哪里出错了,这是一种对用户很不友好的体验。我们应该根据自己的业务给予信息提示异常类 定义一个全局的异常类,有异常信息,都交到这边来。它像一个污水处理厂,汇集所有的工业污水,然后分门别类进行污水净化。要现实这种功能就要用
转载
2024-06-19 20:30:23
43阅读
本篇要点JDK1.8、SpringBoot2.3.4release说明后端参数校验的必要性。介绍如何使用validator进行参数校验。介绍@Valid和@Validated的区别。介绍如何自定义约束注解。关于Bean Validation的前世今生后端参数校验的必要性在开发中,从表现层到持久化层,数据校验都是一项逻辑差不多,但容易出错的任务,前端框架往往会采取一些检查参数的手段,比如校验并提示信
转载
2024-06-20 12:41:19
12阅读
目录:一、实现添加用户功能1、创建项目2、修改pom文件3、编写添加用户功能3.1、创建实体类3.2、编写Controller3.3、编写页面add.html,ok.html二、SpringBoot对表单做数据校验1、SpringBoot对表单数据校验的技术特点1.1、SpringBoot中使用了Hibernate-validate校验框架2、SpringBoot表单数据校验步骤2.1、在实体类中
转载
2024-02-09 15:36:45
43阅读
前言Junit是一个Java语言的单元测试框架,被开发者用于实施对应用程序的单元测试,加快程序编制速度,同时提高编码的质量。是一个在发展,现在已经到junit5,在javaEE开发中与很多框架相集成,使得开发者很方便。 Junit常用注解:@Before:初始化方法@After:释放资源@Test:测试方法,在这里可以测试期望异常和超时时间@Ignore:忽略的测试方法@BeforeClass:针
转载
2024-06-21 19:11:58
100阅读