-
Notifications
You must be signed in to change notification settings - Fork 131
5 springboot biao dan yan zheng
runzhenghengbin edited this page Jan 27, 2019
·
1 revision
参数校验在我们日常开发中非常常见,最基本的校验有判断属性是否为空、长度是否符合要求等,在传统的开发模式中需要写一堆的 if else 来处理这些逻辑,很繁琐,效率也低。使用 @Valid + BindingResult 就可以优雅地解决这些问题
(1)首先在实体类中增加注解
@Entity
public class Girl {
@Id
@GeneratedValue
private int id;
@NotEmpty(message = "姓名不能为空")
private String name;
@Min(value = 18,message = "未成年禁止入内")
private int age;
public Girl() {
}
(2) 在controller 中增加@Valid + BindingResult
@PostMapping("/girls")
public Girl girlAdd(@Valid Girl girl, BindingResult bindingResult){
if(bindingResult.hasErrors()){
System.out.println(bindingResult.getFieldError().getDefaultMessage());
return null;
}
return girlRepository.save(girl);
}
(3) 测试结果
未成年禁止入内
结果显示均已经触发了校验规则,返回了错误信息,在实际使用过程中可以对错误信息进行包装,最后返回到前端进行展示。
对一个搞技术的人来说,年龄的增长其实不是那么可怕,可怕的是你没有匹配自己年龄的技术深度。
学习 spring boot 的个人笔记。
- SpringBoot(一)_快速实战搭建项目
- SpringBoot(二)_项目属性配置
- SpringBoot(三)_controller的使用
- SpringBoot(四)_SpringDataJPA的使用
- SpringBoot(五)_表单验证
- SpringBoot(六)_AOP统一处理请求
- SpringBoot(七)_统一异常处理
- SpringBoot(八)_springboot集成swagger2
- SpringBoot(九)_springboot集成MyBatis
- SpringBoot(十)_springboot集成Redis
- SpringBoot(十一)_springboot导入excel读取excel中的数据
- SpringBoot(十二)_springboot整合RabbitMQ
- SpringBoot(十三)_springboot实现预览pdf
- SpringBoot(十四)_springboot整合JasperReport6.6.0
- SpringBoot(十五)_springboot跨域处理