校验简单数据类型
SpringBoot自带了validation工具可以从后端对前端传来的参数进行校验
- 引入 validation 起步依赖
- 在Controller类上方添加注解 @Validated (//该控制器开启参数校验)
- @NotBlank // 在参数前加校验注解,该注解的意思是字符串参数不能为null
- 在校验参数的注解中添加message属性,可以替换异常信息。@NotBlank(message ="用户名不能为空")
异常处理
当抛出 ConstraintViolationException 异常后,我们可以使用SpringMVC的异常处理器,也可以使用SpringBoot自带的异常处理机制。
当程序出现了异常,SpringBoot会使用自带的 BasicErrorController 对象处理异常。该处理器会默认跳转到/resources/templates/ error.html 页面。
校验相关注解
对象类型
在实体类当中的每个属性中都添加如下注解
@NotNull(message = "id不能为空")
private Integer id;
编写控制器 校验的对象参数前添加 @Validated ,并将异常信息封装到 BindingResult对象中
// 校验的对象参数前添加@Validated,并将异常信息封装到BindingResult对象中
public String t3(@Validated Student student,BindingResult result) {
// 判断是否有参数异常
if (result.hasErrors()) {
// 所有参数异常
List<ObjectError> list =result.getAllErrors();
// 遍历参数异常,输出异常信息
for (ObjectError err : list) {
FieldError fieldError =(FieldError) err;
System.out.println(fieldError.getDefaultMessage());
}
return "参数异常";
}
System.out.println(student);
return "请求成功!";
}