1. @PostMapping(value = "complete")
  2. public Vo complete(@Valid @RequestBody @Validated(CompleteTaskRequest.class) ValidList<CompleteTaskRequest> request, BindingResult bindingResult) {
  3. if (bindingResult.hasErrors()) {
  4. return super.valid(bindingResult);
  5. }
  6.  
  7. }
  1. @Data
  2. @Builder
  3. @NoArgsConstructor
  4. @AllArgsConstructor
  5. public class CompleteTaskRequest extends BaseContext implements Serializable {
  6.  
  7. @NotBlank(message = "任务id不能为空")
  8. private String taskId;
  9.  
  10. }
  1. import lombok.Data;
  2.  
  3. import javax.validation.Valid;
  4. import java.util.*;
  5.  
  6. @Data
  7. public class ValidList<E> implements List<E> {
  8.  
  9. @Valid
  10. private List<E> list = new LinkedList<>();
  11.  
  12. @Override
  13. public int size() {
  14. return list.size();
  15. }
  16.  
  17. @Override
  18. public boolean isEmpty() {
  19. return list.isEmpty();
  20. }
  21.  
  22. @Override
  23. public boolean contains(Object o) {
  24. return list.contains(o);
  25. }
  26.  
  27. @Override
  28. public Iterator<E> iterator() {
  29. return list.iterator();
  30. }
  31.  
  32. @Override
  33. public Object[] toArray() {
  34. return list.toArray();
  35. }
  36.  
  37. @Override
  38. public <T> T[] toArray(T[] a) {
  39. return list.toArray(a);
  40. }
  41.  
  42. @Override
  43. public boolean add(E e) {
  44. return list.add(e);
  45. }
  46.  
  47. @Override
  48. public boolean remove(Object o) {
  49. return list.remove(o);
  50. }
  51.  
  52. @Override
  53. public boolean containsAll(Collection<?> c) {
  54. return list.containsAll(c);
  55. }
  56.  
  57. @Override
  58. public boolean addAll(Collection<? extends E> c) {
  59. return list.addAll(c);
  60. }
  61.  
  62. @Override
  63. public boolean addAll(int index, Collection<? extends E> c) {
  64. return list.addAll(index, c);
  65. }
  66.  
  67. @Override
  68. public boolean removeAll(Collection<?> c) {
  69. return list.removeAll(c);
  70. }
  71.  
  72. @Override
  73. public boolean retainAll(Collection<?> c) {
  74. return list.retainAll(c);
  75. }
  76.  
  77. @Override
  78. public void clear() {
  79. list.clear();
  80. }
  81.  
  82. @Override
  83. public E get(int index) {
  84. return list.get(index);
  85. }
  86.  
  87. @Override
  88. public E set(int index, E element) {
  89. return list.set(index, element);
  90. }
  91.  
  92. @Override
  93. public void add(int index, E element) {
  94. list.add(index, element);
  95. }
  96.  
  97. @Override
  98. public E remove(int index) {
  99. return list.remove(index);
  100. }
  101.  
  102. @Override
  103. public int indexOf(Object o) {
  104. return list.indexOf(o);
  105. }
  106.  
  107. @Override
  108. public int lastIndexOf(Object o) {
  109. return list.lastIndexOf(o);
  110. }
  111.  
  112. @Override
  113. public ListIterator<E> listIterator() {
  114. return list.listIterator();
  115. }
  116.  
  117. @Override
  118. public ListIterator<E> listIterator(int index) {
  119. return list.listIterator(index);
  120. }
  121.  
  122. @Override
  123. public List<E> subList(int fromIndex, int toIndex) {
  124. return list.subList(fromIndex, toIndex);
  125. }
  126. }

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

@validated 验证 List 参数在spring中的更多相关文章

  1. Spring中的@Valid 和 @Validated注解你用对了吗

    1.概述 本文我们将重点介绍Spring中 @Valid和@Validated注解的区别 . 验证用户输入是否正确是我们应用程序中的常见功能.Spring提供了@Valid和@Validated两个注 ...

  2. Spring 中参数名称解析 - ParameterNameDiscoverer

    Spring 中参数名称解析 - ParameterNameDiscoverer Spring 系列目录(https://www.cnblogs.com/binarylei/p/10198698.ht ...

  3. spring中的default-lazy-init参数和lazy-init

    在spring的配置中的根节点上有个  default-lazy-init="true"配置:   1.spring的default-lazy-init参数  此参数表示延时加载, ...

  4. Spring中,请求参数处理

    Spring中,Controller里,获取请求数据有多种情况 在使用@RequestParam的方式获取请求中的参数时, 如果没有设置required这个属性,或者主动设置为true,则意味着这个参 ...

  5. Spring官网阅读(十八)Spring中的AOP

    文章目录 什么是AOP AOP中的核心概念 切面 连接点 通知 切点 引入 目标对象 代理对象 织入 Spring中如何使用AOP 1.开启AOP 2.申明切面 3.申明切点 切点表达式 excecu ...

  6. Spring官网阅读(十七)Spring中的数据校验

    文章目录 Java中的数据校验 Bean Validation(JSR 380) 使用示例 Spring对Bean Validation的支持 Spring中的Validator 接口定义 UML类图 ...

  7. Spring中配置数据源的4种形式

    不管采用何种持久化技术,都需要定义数据源.Spring中提供了4种不同形式的数据源配置方式: spring自带的数据源(DriverManagerDataSource),DBCP数据源,C3P0数据源 ...

  8. Spring中文文档

    前一段时间翻译了Jetty的一部分文档,感觉对阅读英文没有大的提高(*^-^*),毕竟Jetty的受众面还是比较小的,而且翻译过程中发现Jetty的文档写的不是很好,所以呢翻译的兴趣慢慢就不大了,只能 ...

  9. Spring中配置数据源的4种形式(转)

    原文http://blog.csdn.net/orclight/article/details/8616103       不管采用何种持久化技术,都需要定义数据源.Spring中提供了4种不同形式的 ...

随机推荐

  1. pycharm .sqlite文件拖动到Database里面为空

    pycharm .sqlite文件拖动到Database里面为空 查资料得到解决方法:

  2. Python Scrapy反爬虫常见解决方案(包含5种方法)

    爬虫的本质就是“抓取”第二方网站中有价值的数据,因此,每个网站都会或多或少地采用一些反爬虫技术来防范爬虫.比如前面介绍的通过 User-Agent 请求头验证是否为浏览器.使用 JavaScript ...

  3. Supervisor安装与使用

    一.简介 1.supervisor是什么 superviosr是一个Linux/Unix系统上进程监控和管理的工具,它由python编写,可以用pip安装.supervisor能将一个普通的命令行进程 ...

  4. ABP拦截器之UnitOfWorkRegistrar(二)

    在上面一篇中我们主要是了解了在ABP系统中是如何使用UnitOfWork以及整个ABP系统中如何执行这些过程的,那么这一篇就让我们来看看UnitOfWorkManager中在执行Begin和Compl ...

  5. ThunderBird配置邮箱后无法发送邮件

    今天遇到的问题是在ThunderBird配置邮箱后无法发送邮件.用户名和密码都验证过去了.但一直无法发送邮件. 1.首先imap 和smtp 服务器都是通的. telnet imap.base-fx. ...

  6. java 枚举2

    package com.wsy.test; public enum Color { RED("红色",1),GREEN("绿色",2),BLUE("蓝 ...

  7. React Native动画总结

    最近在使用react native进行App混合开发,相对于H5的开发,RN所提供的样式表较少,RN中不能使用类似于css3中的动画,因此,RN提供了Animated的API 1.写一个最简单的动画 ...

  8. CentOS7使用yum安装MySQL8.0

    1.yum仓库下载MySQL:sudo yum localinstall https://repo.mysql.com//mysql80-community-release-el7-1.noarch. ...

  9. Nginx LOG阶段里log模块

    L68 log_format 指令 syntax : name [escape =default|josn|none] string "...."; default : combi ...

  10. 洛谷P1512伊甸园的日历游戏题解

    题目 因为可能要参加qbxt的数论考试,所以最近要开始猛刷数论题了. 这是第一道,不过看样子并不想数论题啊,只是一个博弈论. 思路 一位著名老师说过,数学就是转化和化简,所以先考虑化简,先考虑化简年份 ...