当前位置:   article > 正文

java注解检验集合对象_Java 对list对象进行属性校验

@valid注解校验list中对象的属性

ps:对list对象进行属性校验。

@Validated:可以用在类型、方法和方法参数上。但是不能用在成员属性(字段)上

@Valid:可以用在方法、构造函数、方法参数和成员属性(字段)上

user实体类:

package com.lucifer.demo.pojo;

import lombok.Data;

import javax.validation.constraints.NotBlank;

import javax.validation.constraints.NotNull;

/**

* @author: lucifer

* @date: 2019/8/6

* @description:

*/

@Data

public class User {

@NotBlank(message = "姓名不能为空")

private String name;

@NotNull(message = "年龄不能为空")

private Integer age;

}

1.不能校验;

1》测试controller:

@Slf4j

@RestController

public class TestController {

@PostMapping(value = "test")

public void test(@RequestBody @Validated Listusers){

for(User user:users){

log.info("姓名:{},年龄:{}",user.getName(),user.getAge());

}

}

}

2》用postman测试:

201ee9226841ad25913fce9020b64b05.png

2.校验成功;

1》在1的基础上增加一个UserList类,并将user对象作为这个类的属性,@Valid注解是校验这个属性。

package com.lucifer.demo.pojo;

import lombok.Data;

import javax.validation.Valid;

import java.util.List;

/**

* @author: lucifer

* @date: 2019/8/6

* @description:

*/

@Data

public class UserList {

@Valid

private ListuserList;

}

2》测试controller2:

@PostMapping(value = "test2")

public void test(@RequestBody @Validated UserList userList) {

Listusers = userList.getUserList();

for (User user : users) {

log.info("姓名:{},年龄:{}", user.getName(), user.getAge());

}

}

3》postman测试:

ef0b9c72db8f3c2e6694ceaa7b430ac8.png

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/310845
推荐阅读
相关标签
  

闽ICP备14008679号