@validated 验证 List 参数在spring中
@PostMapping(value = "complete")
public Vo complete(@Valid @RequestBody @Validated(CompleteTaskRequest.class) ValidList<CompleteTaskRequest> request, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return super.valid(bindingResult);
} }
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CompleteTaskRequest extends BaseContext implements Serializable { @NotBlank(message = "任务id不能为空")
private String taskId; }
import lombok.Data; import javax.validation.Valid;
import java.util.*; @Data
public class ValidList<E> implements List<E> { @Valid
private List<E> list = new LinkedList<>(); @Override
public int size() {
return list.size();
} @Override
public boolean isEmpty() {
return list.isEmpty();
} @Override
public boolean contains(Object o) {
return list.contains(o);
} @Override
public Iterator<E> iterator() {
return list.iterator();
} @Override
public Object[] toArray() {
return list.toArray();
} @Override
public <T> T[] toArray(T[] a) {
return list.toArray(a);
} @Override
public boolean add(E e) {
return list.add(e);
} @Override
public boolean remove(Object o) {
return list.remove(o);
} @Override
public boolean containsAll(Collection<?> c) {
return list.containsAll(c);
} @Override
public boolean addAll(Collection<? extends E> c) {
return list.addAll(c);
} @Override
public boolean addAll(int index, Collection<? extends E> c) {
return list.addAll(index, c);
} @Override
public boolean removeAll(Collection<?> c) {
return list.removeAll(c);
} @Override
public boolean retainAll(Collection<?> c) {
return list.retainAll(c);
} @Override
public void clear() {
list.clear();
} @Override
public E get(int index) {
return list.get(index);
} @Override
public E set(int index, E element) {
return list.set(index, element);
} @Override
public void add(int index, E element) {
list.add(index, element);
} @Override
public E remove(int index) {
return list.remove(index);
} @Override
public int indexOf(Object o) {
return list.indexOf(o);
} @Override
public int lastIndexOf(Object o) {
return list.lastIndexOf(o);
} @Override
public ListIterator<E> listIterator() {
return list.listIterator();
} @Override
public ListIterator<E> listIterator(int index) {
return list.listIterator(index);
} @Override
public List<E> subList(int fromIndex, int toIndex) {
return list.subList(fromIndex, toIndex);
}
}
@ https://stackoverflow.com/questions/28150405/validation-of-a-list-of-objects-in-spring
@validated 验证 List 参数在spring中的更多相关文章
- Spring中的@Valid 和 @Validated注解你用对了吗
1.概述 本文我们将重点介绍Spring中 @Valid和@Validated注解的区别 . 验证用户输入是否正确是我们应用程序中的常见功能.Spring提供了@Valid和@Validated两个注 ...
- Spring 中参数名称解析 - ParameterNameDiscoverer
Spring 中参数名称解析 - ParameterNameDiscoverer Spring 系列目录(https://www.cnblogs.com/binarylei/p/10198698.ht ...
- spring中的default-lazy-init参数和lazy-init
在spring的配置中的根节点上有个 default-lazy-init="true"配置: 1.spring的default-lazy-init参数 此参数表示延时加载, ...
- Spring中,请求参数处理
Spring中,Controller里,获取请求数据有多种情况 在使用@RequestParam的方式获取请求中的参数时, 如果没有设置required这个属性,或者主动设置为true,则意味着这个参 ...
- Spring官网阅读(十八)Spring中的AOP
文章目录 什么是AOP AOP中的核心概念 切面 连接点 通知 切点 引入 目标对象 代理对象 织入 Spring中如何使用AOP 1.开启AOP 2.申明切面 3.申明切点 切点表达式 excecu ...
- Spring官网阅读(十七)Spring中的数据校验
文章目录 Java中的数据校验 Bean Validation(JSR 380) 使用示例 Spring对Bean Validation的支持 Spring中的Validator 接口定义 UML类图 ...
- Spring中配置数据源的4种形式
不管采用何种持久化技术,都需要定义数据源.Spring中提供了4种不同形式的数据源配置方式: spring自带的数据源(DriverManagerDataSource),DBCP数据源,C3P0数据源 ...
- Spring中文文档
前一段时间翻译了Jetty的一部分文档,感觉对阅读英文没有大的提高(*^-^*),毕竟Jetty的受众面还是比较小的,而且翻译过程中发现Jetty的文档写的不是很好,所以呢翻译的兴趣慢慢就不大了,只能 ...
- Spring中配置数据源的4种形式(转)
原文http://blog.csdn.net/orclight/article/details/8616103 不管采用何种持久化技术,都需要定义数据源.Spring中提供了4种不同形式的 ...
随机推荐
- 查看电脑系统参数(Windows)
发现工作的电脑开了很多任务,都运行的很好,所以记录下来(以后买电脑可以参考一下) 一.硬件详情(i5第七代?) 硬盘信息(分有固态和机械硬盘): 固态硬盘直接给了系统使用: 二.体验指数(基本都达到了 ...
- Python基础:搭建开发环境(1)
1.Python语言简介 2.Python环境 Python环境产品存在多个. 2.1 CPython CPython是Python官方提供的.一般情况下提到的Python就是指CPython,CPy ...
- 【dp】友好城市
题目一: [题目描述] Palmia国有一条横贯东西的大河,河有笔直的南北两岸,岸上各有位置各不相同的N个城市.北岸的每个城市有且仅有一个友好城市在南岸,而且不同城市的友好城市不相同. 每对友好城市都 ...
- 在SpringBoot项目中添加logback的MDC
在SpringBoot项目中添加logback的MDC 先看下MDC是什么 Mapped Diagnostic Context,用于打LOG时跟踪一个“会话“.一个”事务“.举例,有一个web ...
- dsu on tree 树上启发式合并 学习笔记
近几天跟着dreagonm大佬学习了\(dsu\ on\ tree\),来总结一下: \(dsu\ on\ tree\),也就是树上启发式合并,是用来处理一类离线的树上询问问题(比如子树内的颜色种数) ...
- 关于vue-router 中参数传递的那些坑(params,query)
1.query方式传参和接受参数 传参 this.$router.push({ path:'/xxx' query:{ idname:id } })接收的方式:this.$route.query.id ...
- GWAS研究中case和control的比例是有讲究的?
GWAS研究中,表型分两种.第一种是线性的表型,如果身高.体重.智力等:第二种是二元的表型,比如患病和未患病,即通常所说的case和control.对于表型是线性的样本来说,是不存在case和cont ...
- 程序人生 | 35岁以上的 iOS 程序员都到哪里去了?
1.网上流传华为公司正在清理 34 岁以上的员工. " 中国区开始集中清理 34 + 的交付员工,...... 去向是跟海外服务部门交换今年新毕业的校招员工,也就是进新人,出旧人. 这些旧人 ...
- Linux命令_ls
1.查看当前用户对某个指定路径的权限 ls -ld /some/path
- Unity安装(Windows版)
Unity下载助手 Unity下载助手是一个小型可执行程序(大小约为1 MB),它允许您选择要下载和安装的Unity Editor的那些组件. 如果你不知道要安装,保留默认选择,单击继续 ,然后按照安 ...