当前位置:首页 > 服务端 > @Valid和@Validated验证List集合--网络踩坑记录

@Valid和@Validated验证List集合--网络踩坑记录

2022年11月09日 14:42:43服务端8

基于Springboot框架验证list只需要一下两步:
在Controller上添加@Validated注解,方法上添加@Valid注解,就能验证了
@Valid和@Validated验证List集合--网络踩坑记录 _ JavaClub全栈架构师技术笔记
实体类:
@Valid和@Validated验证List集合--网络踩坑记录 _ JavaClub全栈架构师技术笔记
情况二、只是用@Valid,并且不是SpringBoot2.0版本,
首先编写ValidableList类

@Data
public class ValidableList<E> implements List<E> {
     

    @Valid
    private List<E> list = new ArrayList<>() ;

    @Override
    public int size() {
     
        return list.size();
    }

    @Override
    public boolean isEmpty() {
     
        return list.isEmpty();
    }

    @Override
    public boolean contains(Object o) {
     
        return false;
    }

    @Override
    public Iterator<E> iterator() {
     
        return null;
    }

    @Override
    public Object[] toArray() {
     
        return new Object[0];
    }

    @Override
    public <T> T[] toArray(T[] a) {
     
        return null;
    }

    @Override
    public boolean add(E e) {
     
        return false;
    }

    @Override
    public boolean remove(Object o) {
     
        return false;
    }

    @Override
    public boolean containsAll(Collection<?> c) {
     
        return false;
    }

    @Override
    public boolean addAll(Collection<? extends E> c) {
     
        return false;
    }

    @Override
    public boolean addAll(int index, Collection<? extends E> c) {
     
        return false;
    }

    @Override
    public boolean removeAll(Collection<?> c) {
     
        return false;
    }

    @Override
    public boolean retainAll(Collection<?> c) {
     
        return false;
    }

    @Override
    public void clear() {
     

    }

    @Override
    public E get(int index) {
     
        return null;
    }

    @Override
    public E set(int index, E element) {
     
        return null;
    }

    @Override
    public void add(int index, E element) {
     

    }

    @Override
    public E remove(int index) {
     
        return null;
    }

    @Override
    public int indexOf(Object o) {
     
        return 0;
    }

    @Override
    public int lastIndexOf(Object o) {
     
        return 0;
    }

    @Override
    public ListIterator<E> listIterator() {
     
        return null;
    }

    @Override
    public ListIterator<E> listIterator(int index) {
     
        return null;
    }

    @Override
    public List<E> subList(int fromIndex, int toIndex) {
     
        return null;
    }


}

控制器改为

@PostMapping("/saveClasses")
    public R saveClasses(@RequestBody @Valid ValidableList<BaseClassVo> baseClasses){
     
        baseclassService.saveBaseClasses(baseClasses);
        return R.ok();
    }

本人在实验中:在SpringBoot中使用第二种方法一直报错,空指针异常。后来发现Springboot可以将@Valid和@Validated两个注解混合使用,验证list集合并不是这样操作,而是第一种方法。

作者:超负荷小生
来源链接:https://blog.csdn.net/qq_43661408/article/details/109248217

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/server/68896.html

标签: List
分享给朋友:

“@Valid和@Validated验证List集合--网络踩坑记录” 的相关文章

java 集合hashmap hashset arraylist 详解以及常见面试题

java 集合hashmap hashset arraylist 详解以及常见面试题

   今天复习了一下自认为java 中很重要的一部分集合,这篇文章主要从底层源码进行分析这几种集合的区别与联系,他们的用法不多讲,用法不难;大多数东西我也是从各位大神的博客上或者书上扒下来的,小菜鸟在复习,写下来主要是一:是为了想留下点东西 二:我发现在写的过程中我...

java List 与String转换

1    System.out.println("+++++++++++++++++++++++++++++++++"); 2 System.out.println("List转字符串"); 3 List<String>...

Java集合Map,set, list 之间的转换

Java集合Map,set, list 之间的转换

Java集合Map,set, list 之间的转换    前言:     通过思维导图复习联系,看到一个HashMap排序题上机题之后有的一个感想,题目如下,看看你能时间出来么? &n...

Java集合中List的用法

Java集合中List接口的使用 List接口是Collection接口的子接口,List有一个重要的实现类--ArrayList类,List中的元素是有序排列的而且可重复,所以被称为是序列。 List可以精确的控制每个元素的插入位置,或删除某个位置元素,它的实...

java集合系列之三(ArrayList)

java集合系列之三(ArrayList)

上一章,我们学习了Collection的架构。这一章开始,我们对Collection的具体实现类进行讲解;首先,讲解List,而List中ArrayList又最为常用。因此,本章我们讲解ArrayList。先对ArrayList有个整体认识,再学习它的源码,最后再通过例子来学习如何使用...

java list 换位置

package com.crystal.didemo.interfaces; import java.util.Collections; import java.util.List; /** * 集合工具类 * 向前移动问题:把第...

深入解析     Java集合类ArrayList与Vector的区别

深入解析 Java集合类ArrayList与Vector的区别

集合类分为两个分支,Collection与Map,其中Collection接口继承了Iterator接口,继承Iterator接口的类可以使用迭代器遍历元素(即Collection接口的类都可以使用),今天我们从相同点、不同点、以及JDK源码等各个方面来深入解析下,底层使用数组实...

java BigDecimal List求和

BigDecimal totalPrice=list.stream().map(DictRegisterClassVsChargeVO::getPriceFirst).reduce(BigDecimal.ZERO, BigDecimal::add);...

Java中List集合的subList方法

Java中List集合的subList方法

目录 一、说明 二、测试 1、直接输出 2、向subList中添加元素再输出 3、 从subList中删除元素再输出 4、向list中添加元素再输出 5、从list中删除一个元素后再输出 ​ 6、向list中添加元素,输出list,...

Java集合 -- ArrayList集合及应用

Java集合 -- ArrayList集合及应用

JAVA集合 对象数组 集合类之ArrayList 学生管理系统 斗地主案例 NO.one 对象数组 1.1 对象数组描述 A:基本类型的数组:存储的元素为基本类型     int[]...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。