java注解检验集合对象_Java 对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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值