1.@NotNull,@NotEmpty,@NotBlank使用和区别
@NotNull只用在基本数据类型上,比如Integer和BigDecimal
作用是判断该值不能为null
@NotBlank只作用在String类型上
可以判断是否为NULL,同时调用trim()判断长s度是否>0
@NotEmpty
一般作用在集合类或者数组上,判断不能为null,并且长度必须大于0
这些注解和@valid注解配合使用
同时还有其他注解
@Max,@Min等
这些注解应用于接收值校验
2.解决在后端中对List集合参数里面对象进行属性校验
(1)首先@valid注解只对单个对象起效,只会校验单个对象里面属性
(2)如何对集合中多个对象里面属性进行校验?
@Validated和@valid注解配合使用
(3)如何配合使用
@Validated注解写在有@Valid注解类上面,@Valid写在参数前面
3.关于LocalDateTime
(1)LocalDateTime是Java 8中新引入的时间日期类,描述的是不带时区的日期时间,以年、月、日、时、分、秒、纳秒的形式存储时间,也可以进行计算、格式化和解析。LocalDateTime类是一个不可变的对象,不可变是指它的值一旦确定就无法更改。
(2)LocalDateTime格式是日期加时间,默认yyyy-MM-dd HH:mm:ss,同时LocalDateTime使用日期加时间中间加T表示国际化时间格式
2021-05-24T19:51:15.237
(3)在返回前端是需要加注解@DateFormat(patten = "yyyy-MM-dd HH:mm:ss")
同时在接收时只能是yyyy-MM-dd HH:mm:ss
如果前端只传yyyy-MM-dd,后端只能用其他接收比如LocalDate,然后转换为LocalDateTime;
需要先判断LocalDate是否NULL再调用方法转换LocalDateTime
(4)LocalDate转LocalDateTime
需要加上00:00:00,使用LocalDate对象调用方法,LocalDate time;
LocalDateTime dateTime = time.atStartOfDay();