@Valid对List中的实体类的属性校验的两种解决方案

更新时间:2023-07-23 03:21:42 阅读: 评论:0

@Valid对List中的实体类的属性校验的两种解决⽅案1、实体类注解
@Builder
@Data
public class Ur{
@NotBlank(message = "姓名不能为空!")
private String name;
@NotBlank(message = "性别不能为空!")
private String gender;
}
2、请求报⽂中如果有“list”属性,解决⽅案如下:
儿童生日会请求报⽂:
{
"list": [
{
"name": "Tom",
"gender": "MAN"
}
]
}
第⼀步:定义⼀个接收参数的类:
@Data
public class ListRequestDTO<T> {
@Valid
private List<T> list;
}
第⼆步:Controller⽤@Valid注解的ListRequestDTO<T>接收参数即可
public RespResult saveUr(@RequestBody @Valid ListRequestDTO<Ur> urList) {
...
}
3、请求报⽂中如果没有“list”属性,解决⽅案如下:
请求报⽂:
[
{
"name": "Tom",
"gender": "MAN"
}
]
第⼀步:⾃定义⼀个ValidList基础List public class ValidList<E> implements List<E> {    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 tList(List<E> list) {
this.list = list;
}
@Override
public int size() {吊篮施工专项方案
return list.size();
}
羊英语怎么读@Override
public boolean isEmpty() {
return list.isEmpty();
}
@Override
public boolean contains(Object o) {
质量保证计划ains(o);
}
@Override
public Iterator<E> iterator() {
return list.iterator();
}
@Override
public Object[] toArray() {
Array();
}
@Override
public <T> T[] toArray(T[] a) {
Array(a);
}
@Override
public boolean add(E e) {
return list.add(e);
}
@Override
public boolean remove(Object o) {
ve(o);
}
@Override
public boolean containsAll(Collection<?> c) {        ains(c);
ains(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) {
veAll(c);
}
@Override
public boolean retainAll(Collection<?> c) {
ainAll(c);
}
@Override
public void clear() {
list.clear();
}
@Override
public E get(int index) {
(index);
}
@Override
public E t(int index, E element) {
return list.t(index, element);
}
一流学科名单
@Override
public void add(int index, E element) {
list.add(index, element);
}
@Override
public E remove(int index) {
ve(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);
return list.listIterator(index);
}
@Override
public List<E> subList(int fromIndex, int toIndex) {
return list.subList(fromIndex, toIndex);
}
}
第⼆步:Controller⽤@Valid注解的ValidList<T>接收参数即可
public RespResult saveUr(@RequestBody @Valid ValidList<Ur> urList) {
...
}
如果此博客有帮助到你的话,请不要吝啬你的⼿指!点赞+转发让更多的⼈可以看到,帮助到更多的同学们,谢谢喽!

本文发布于:2023-07-23 03:21:42,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1112002.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:属性   不能   接收   参数   解决   实体类
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图