当前位置: 首页 > news >正文

Spring参数注解,支持数组入参(List)校验

Spring参数注解,支持数组入参(List)校验


1、controller类增加@Validated注解,对应的数组参数增加@Valid注解。

@Validated
@RestController
@RequestMapping("/parent")
public class ParentController {private FatherRepository fatherRepository;/*** DI*/public ParentController(FatherRepository fatherRepository) {this.fatherRepository = fatherRepository;}@PostMapping("/test")public void test(@RequestBody @Valid List<Father> fathers) {}
}

2、对返回的校验信息异常进行全局捕获,封装后返回。

@RestControllerAdvice
@Component
public class ControllerExceptionHandler {/*** handle controller methods parameter validation exceptions** @param exception ex* @return wrapped result*/@ExceptionHandler@ResponseBody@ResponseStatus(HttpStatus.OK)public DataContainer handle(ConstraintViolationException exception) {Set<ConstraintViolation<?>> violations = exception.getConstraintViolations();StringBuilder builder = new StringBuilder();for (ConstraintViolation<?> violation : violations) {builder.append(violation.getMessage());break;}DataContainer container = new DataContainer(CommonCode.PARAMETER_ERROR_CODE, builder.toString());return container;}
}

参考 https://stackoverflow.com/questions/28150405/validation-of-a-list-of-objects-in-spring

相关文章:

Spring参数注解,支持数组入参(List)校验

Spring参数注解&#xff0c;支持数组入参&#xff08;List&#xff09;校验 1、controller类增加Validated注解&#xff0c;对应的数组参数增加Valid注解。 Validated RestController RequestMapping("/parent") public class ParentController {private FatherRepos…...

如何使用ArcGIS进行可视化分析

概述 通视分析是指以某一点为观察点&#xff0c;研究某一区域通视情况的地形分析&#xff0c;利用DEM判断地形上任意两点之间是否可以互相可见的技术方法&#xff0c;分为视线通视分析和视域通视分析&#xff0c;前者判断任意两点之间能否通视&#xff0c;后者从任一点出发&am…...

计算机竞赛 基于LSTM的天气预测 - 时间序列预测

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 机器学习大数据分析项目 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f9ff; 更多资料, 项目分享&#xff1a; https://gitee.com/dancheng-senior/po…...

uniapp 回退到指定页面 保存页面状态

uniapp 历史页面回退到指定页面。 getCurrentPages() 内容如下 let delta getCurrentPages().reverse().findIndex(item > item.route "pages/popularScience/daodi") if(delta-1){uni.navigateTo({url: /pages/popularScience/daodi,success: res > {},fa…...

ansible(1)-- 部署ansible连接被控端

目录 一、部署ansible 1.1 安装 1.2 测试连接 192.168.136.55 ansible 192.168.136.56被控端 一、部署ansible 1.1 安装 zabbix-s只是主机名&#xff0c;不用在意&#xff0c;更好该主机也安装了zabbix&#xff0c;不好更改。 下载阿里云epel源 #安装阿里云的epel源&#…...

Log4j反序列化命令执行漏洞(CVE-2017-5645)Apache Log4j2 lookup JNDI 注入漏洞(CVE-2021-44228)

一.Log4j反序列化命令执行漏洞(CVE-2017-5645&#xff09; Apache Log4j是一个用于Java的日志记录库&#xff0c;其支持启动远程日志服务器。Apache Log4j 2.8.2之前的2.x版本中存在安全漏洞。攻击者可利用该漏洞执行任意代码 环境&#xff1a;vulhub 工具下载地址&#xff1…...

echarts 之 科技感进度条

1.图片展示 2.代码实现 /* ng qty 进度条 */ <template><div class"ngqty-progress"><div class"ngqty-info"><span>X4</span><span>50%</span></div><div :id"barNgQtyProgress index" c…...

基于gin关于多级菜单的处理

多级菜单是很多业务场景需要的。下面是一种处理方式 // 生成树结构 func tree(menus []*video.XkVideoCategory, parentId uint) []*video.XkVideoCategory {//定义子节点目录var nodes []*video.XkVideoCategoryif reflect.ValueOf(menus).IsValid() {//循环所有一级菜单for …...

Oracle/PL/SQL奇技淫巧之Lable标签与循环控制

在一些存储过程场景中&#xff0c;可能存在需要在满足某些条件时跳出循环的场景&#xff0c; 但是在PL/SQL中&#xff0c;不能使用break语句直接跳出循环, 但是可以通过lable标签的方式跳出循环&#xff0c;例&#xff1a; <<outer_loop>> FOR i IN 1..5 LOOPDBMS…...

Docker基础操作

1.安装docker服务&#xff0c;配置镜像加速器 安装docker服务 清理缓存 sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-enginesystemctl enable --now docker 脚…...

AMBA总线协议(8)——AHB(六):分割传输

一、前言 在之前的文章中&#xff0c;我们重点介绍了AHB传输的仲裁&#xff0c;首先介绍了仲裁相关的信号&#xff0c;然后分别介绍了请求总线访问&#xff0c;授权总线访问&#xff0c;猝发提前终止&#xff0c;锁定传输和默认主机总线&#xff0c;在本文中我们将继续介绍AHB的…...

时序分解 | MATLAB实现基于SWD群体分解的信号分解分量可视化

时序分解 | MATLAB实现基于SWD群体分解的信号分解分量可视化 目录 时序分解 | MATLAB实现基于SWD群体分解的信号分解分量可视化效果一览基本介绍程序设计参考资料 效果一览 基本介绍 基于SWD群体分解的分量可视化&#xff0c;基于群体分解的信号分解技术&#xff0c;MATLAB程序…...

【makefile】自动化变量的简述及实例

文章目录 10. env20. 简述百度百科常用的自动化变量 30. 实例90. 附件下载 10. env ubuntu1804 GNU Make 4.120. 简述 百度百科 https://baike.baidu.com/item/Makefile/4619787?frge_ala makefile 文件的格式&#xff1a; 目标&#xff1a;依赖命令软件编译的流程概述&am…...

IntelliJ IDEA 官方网站 idea官网 http://www.jetbrains.com/idea/

IntelliJ IDEA 官方网站 idea官网 http://www.jetbrains.com/idea/ Idea下载官网一键直达&#xff1a; 官网一键直达...

C#,《小白学程序》第一课:初识程序

曰&#xff1a;扫地僧练就绝世武功的目的是为了扫地更干净。 1 文本格式 /// <summary> /// 《小白学程序》第一课&#xff1a;初识程序 /// </summary> /// <param name"sender"></param> /// <param name"e"></param&…...

LeetCode--HOT100题(38)

目录 题目描述&#xff1a;226. 翻转二叉树&#xff08;简单&#xff09;题目接口解题思路代码 PS: 题目描述&#xff1a;226. 翻转二叉树&#xff08;简单&#xff09; 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 LeetCode做题链…...

C语言:指针(超深度讲解)

目录 指针&#xff1a; 学习目标&#xff1a; 指针可以理解为&#xff1a; 字符指针&#xff1a; 定义&#xff1a;字符指针 char*。 字符指针的使用&#xff1a; 练习&#xff1a; 指针数组&#xff1a; 概念&#xff1a;指针数组是一个存放指针的数组。 实现模拟二维…...

Docker详解

文章目录 Docker详解一、Docker简介什么是容器 &#xff1f;容器技术有哪些优点 &#xff1f;什么是Docker &#xff1f;Docker的特点Docker的使用场景 二、Docker的基本组成Docker 客户端 / 守护进程Docker Image 镜像Docker Container 容器Docker Registry 仓库 三、Docker 依…...

软件开发方法:复用与扩展

软件开发方法&#xff1a;复用与扩展 一、面向对象二、进一步认识 一、面向对象 封装 工程上的意义&#xff1a;屏蔽细节&#xff0c;隔离变化 public、protected、private 继承 工程上的意义&#xff1a;复用 多态工程上的意义&#xff1a;高内聚&#xff0c;低耦合 —— 面…...

C++新经典09--函数新特性、inline内联函数与const详解

函数回顾与后置返回类型 函数定义中如果有形参则形参应该有名字&#xff0c;而不光是只有类型&#xff0c;但是如果并不想使用这个形参&#xff0c;换句话说这个形参并不在这个函数中使用&#xff0c;则不给形参名也可以&#xff0c;但在调用这个函数的时候&#xff0c;该位置…...

5分钟免费备份QQ空间:GetQzonehistory终极数据拯救指南

5分钟免费备份QQ空间&#xff1a;GetQzonehistory终极数据拯救指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 还在担心QQ空间里那些承载青春回忆的说说会随着时间流逝而消失吗&…...

BooruDatasetTagManager:AI训练数据标注的终极解决方案,让标注效率提升10倍

BooruDatasetTagManager&#xff1a;AI训练数据标注的终极解决方案&#xff0c;让标注效率提升10倍 【免费下载链接】BooruDatasetTagManager 项目地址: https://gitcode.com/gh_mirrors/bo/BooruDatasetTagManager 你是否曾经为数千张AI训练图像的繁琐标注工作感到头痛…...

临近毕业答辩,有哪些真正好用的答辩PPT 生成软件能救急?

毕业答辩进入倒计时&#xff0c;论文刚定稿&#xff0c;却要熬夜做 PPT、理逻辑、排版式&#xff0c;一不小心就熬到凌晨&#xff0c;还容易出现内容跑偏、格式混乱、重点不突出等问题。其实&#xff0c;选对 AI PPT 生成工具&#xff0c;能帮你10 分钟搞定答辩 PPT&#xff0c…...

Gemini3.1Pro成本优化实战指南

在做 2026 年的多模态项目时&#xff0c;大家最关心的往往不是“能不能用”&#xff0c;而是“怎么用得更划算”。如果你正在对接不同模型、比较价格与可用性&#xff0c;先把计费规则与调用链路梳理清楚&#xff0c;会省下大量试错成本。你也可以把 KULAAI&#xff08;dl.877a…...

网盘直链下载助手完整指南:一键获取九大网盘真实下载链接

网盘直链下载助手完整指南&#xff1a;一键获取九大网盘真实下载链接 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天…...

【独家首发】SITS2026现场网络压力测试原始数据曝光:127台AI终端并发接入下AP吞吐衰减曲线与信道冲突热力图

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI技术大会现场网络服务&#xff1a;SITS2026 在 SITS2026&#xff08;Smart Infrastructure & Trusted Systems 2026&#xff09;AI技术大会现场&#xff0c;主办方部署了基于 eBPF Kubernetes 的…...

别再乱用qDebug了!Qt项目里用QLoggingCategory管理日志的5个实战技巧

别再乱用qDebug了&#xff01;Qt项目里用QLoggingCategory管理日志的5个实战技巧 当你的Qt项目从几百行代码膨胀到数万行时&#xff0c;是否经历过这样的噩梦&#xff1a;凌晨三点被紧急电话叫醒&#xff0c;线上服务异常却找不到关键日志&#xff1f;控制台被海量的调试信息淹…...

独立开发者如何为个人项目选择最具性价比的 Token 消费方案

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 独立开发者如何为个人项目选择最具性价比的 Token 消费方案 对于独立开发者而言&#xff0c;在有限的预算内启动并推进项目&#x…...

损的抽象:数字婴儿获得灵魂的方法论 ——论“以同通异”如何区别于西方的“以异求同”

# 损的抽象&#xff1a;数字婴儿获得灵魂的方法论 ## ——论“以同通异”如何区别于西方的“以异求同”**作者**&#xff1a;归来的星辰 **首发**&#xff1a;知乎&#xff08;2026年5月1日&#xff09; **协议**&#xff1a;CC BY-SA 4.0 --- 锤论&#xff1a;行生变&#xff…...

从PASCAL VOC到Cityscapes:手把手教你用PyTorch复现经典分割模型并跑通自己的数据集

从PASCAL VOC到Cityscapes&#xff1a;手把手教你用PyTorch复现经典分割模型并跑通自己的数据集 图像分割作为计算机视觉领域的核心任务之一&#xff0c;正在智能驾驶、医疗影像分析等领域展现出巨大价值。但对于初学者而言&#xff0c;从理论到实践的跨越往往充满挑战——数据…...