前言 之前参与的新开发者平台研发的过程中,由于不同的接口需要对不同的入参进行校验,这就涉及到通用参数的校验封装,如果不进行封装,那么写出来的校验代码将会风格不统一、校验工具类不一致、维护风险高等其它因素,于是我对其公共的校验做了一个封装,达到了通过注解的方式即可实现参数统一校验。遇到的问题 在封装的时候就发现了一个问题,就是返回的报文都必须是统一风格,也就是类似于{code:999,m
1,小结 :springboot 各种参数校验 ,一般除了前端校验外,后台对接口 也要做强制参数校验(出于接口安全和参数格式不正确 考虑),规范考虑 一般对外提供的接口 或者 给别人调用 的公用方法(如工具类) 必须要求 强制参数校验 1.1,常规校验 1.2 ,分组校验 @Valid 注解是java javax.validation 包下面
转载
2024-02-21 11:55:29
408阅读
引入maven依赖(可选) 如果我们的项目使用了Spring Boot,hibernate validator框架已经集成在 spring-boot-starter-web中,所以无需再添加其他依赖。如果不是Spring Boot项目,则需要添加如下依赖:<dependency>
<groupId>org.hibernate.validator</group
转载
2024-03-15 05:23:58
83阅读
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阅读
本文作者: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.父类指定了相应的依赖的版本,之后子工程只需要添加该依赖即可,无需指定版本,实现版本管理。 2.SpringBootApplication注解创建一个application,并且会将同包之下的文件都扫描进来,所以一开始如果访问404,是因为测试controller没有创建在同一个包之下,注意名字也需要是层级方式命名的才行,idea创建时候会有提示的。 3.Rest
转载
2024-05-15 09:17:21
913阅读
SpringBoot主配置和注解建议Springboot使用版本:2.1.13.RELEASEapplicatin.properties的优先级比application.yml优先级高,但是一般项目中不会同时出现这两种配置文件yml配置文件写法例子:person是对象,maps是map集合,lists是list集合,student是对象,具体关系为:package com.hui.pojo;
i
转载
2024-03-19 14:53:47
861阅读
数据脱敏实现1.数据脱敏的概念数据脱敏(Data Masking)是一种数据保护技术,用于隐藏或替换敏感数据,以保护数据的隐私和安全性,同时尽量保持数据的可用性和一定的格式保留。数据脱敏的目的是在数据使用和共享的过程中,对敏感数据进行保护,防止敏感信息泄露、滥用或未经授权的访问。常见的敏感数据包括个人身份证号码、姓名、手机号码、银行账号、社会保险号等。 eg:类型原始数据脱敏数据手机1324876
转载
2024-09-16 01:06:09
43阅读
Springboot参数校验validator内置注解注解详细信息@Null被注释的元素必须为 null@NotNull被注释的元素必须不为 null@AssertTrue被注释的元素必须为 true@AssertFalse被注释的元素必须为 false@Min(value)被注释的元素必须是一个数字,其值必须大于等于指定的最小值@Max(value)被注释的元素必须是一个数字,其值必须小于等于指
转载
2024-03-21 09:44:11
2423阅读
RESTful相信在座的各位对于RESTful都是略有耳闻,那么RESTful到底是什么呢?设计风格而不是标准。REST通常基于使用HTTP,URI,和XML(标准通用标记语言下的一个子集)以及HTML(标准通用标记语言下的一个应用)这些现有的广泛流行的协议和标准。
也许这段话有些晦涩难懂,换个角度我们来解释一下RESTful。首先来看一组例子: //查询所有人员(传统)
localhost
转载
2024-06-17 07:18:12
80阅读
首先先给出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
341阅读
5. Spring JDBC Template写在开头,JDBC Template 是 Spring 框架在JDBC基础上做了一定的封装。相比当下的DAO层框架,封装度相对较低,很早之前用过几次,由于SQL注入的Web攻击场景,JDBC Template具有很好的防范。关于SQL注入:JDBC Template中对参数化的SQL查询有着良好的验证机制,因此建议使用参数化SQL的方式,切勿采用SQL
转载
2024-05-31 11:42:08
24阅读
“status”: 500,
“message”: “test3.email: 不是一个合法的电子邮件地址”,
“data”: null,
“timestamp”: 1628239281022
}通过加入 Validator校验框架可以帮助我们自动实现参数的校验。参数异常加入全局异常处理器虽然我们之前定义了全局异常拦截器,也看到了拦截器确实生效了,但是 Validator校验框架返回的错误提示太臃
转载
2024-08-29 11:19:56
204阅读
## JAVA的对象List参数的校验
在JAVA开发中,经常会遇到需要传递一个List对象作为参数的情况,例如批量插入数据库、批量更新等。在这些情况下,我们需要对传入的List参数进行校验,以确保数据的有效性和完整性。本文将介绍如何进行JAVA对象List参数的校验,并提供相应的代码示例。
### 为什么需要校验List参数?
List是JAVA中常用的集合类型,可以容纳多个对象。当我们需
原创
2024-02-01 10:49:45
1236阅读
平时在开发接口的时候,常常会需要对参数进行校验,这里提供两种处理校验逻辑的方式。一种是使用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阅读
表单提交是最常见的数据提交方式,我们经常会填写表单信息,比如用户名,身份证,手机号等等,因此就会产生身份证是否合法,用户名是否为空,虽然我们可以直接在前台使用js就进行格式的校验,但如果使用postman工具直接发请求呢?使用我们后端也需要进行对数据的校验,这样极大的确保数据的安全性和合法性。1.新建一个Springboot项目,并且添加web依赖。下面是本项目的全部依赖<dependenc
转载
2024-02-29 18:04:00
184阅读
目录标题快速入门引入依赖校验示例统一异常处理进阶使用分组校验嵌套校验自定义校验注解自定义校验快速失败(Fail Fast)Spring 校验原理Spring 校验使用场景Validator 接口设计Errors 接口设计Errors 文案来源spring web 校验原理RequestBody 参数校验实现原理方法级别的参数校验实现原理问题 Java API 规范(JSR303)定义了Bean校
转载
2024-06-26 09:41:15
120阅读
一、添加依赖<!--参数校验-->
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>
<!--lombok--&g
转载
2024-06-28 19:47:39
486阅读
1、新建自定义配置文件文件名:opcaccess.yaml 内容:opc:
accesslist:
- Channel1.Device1.Tag1
- Channel1.Device1.Tag2
- Channel1.Device1.test
# 字段1 - test1 - 业务意义pom.xml引入依赖:<dependency>
转载
2023-06-25 23:44:54
461阅读