zoukankan      html  css  js  c++  java
  • @Valid解决无法校验List问题

     

    1.新建一个类:ValidList,实现List接口

    import javax.validation.Valid;
    import java.util.*;
    ​
    public class ValidList<E> implements List<E> {
    ​
        @Valid
        private List<E> list;
    ​
        public ValidList() {
            this.list = new ArrayList<>();
        }
    ​
        public ValidList(List<E> list) {
            this.list = list;
        }
    ​
        public List<E> getList() {
            return list;
        }
    ​
        public void setList(List<E> list) {
            this.list = list;
        }
    ​
        //重写List方法,可省略
        @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.contains(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);
        }
    }

    2.控制器层调用

    @PostMapping("l_addBatch")
    @ApiOperation("批量添加消息")
    public Integer addBatch(@RequestBody @Valid ValidList<MessageAddDTO> messageAddDTOList){
        return sysMessageService.addBatch(messageAddDTOList, getSessionUser().getUserId());
    }
  • 相关阅读:
    AngularJS中$http服务的简单用法
    js变量作用域及访问权限的探讨(2)
    javascript中类的属性访问权限研究(1)
    zoom:1-hasLayout
    JS 继承(类式 与 原型式)
    迷你版jQuery——zepto核心源码分析
    移动互联网终端的touch事件,touchstart, touchend, touchmove
    WEBAPP开发技巧总结
    JQuery flot API文档 中文版
    jQuery插件Flot实战Demo
  • 原文地址:https://www.cnblogs.com/zero666/p/13114754.html
Copyright © 2011-2022 走看看