依赖
pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
对字段增加验证
pojo.user
@NotBlank
public class User {
private Integer id;
@NotBlank(message = "username不能为空")
private String name;
private Integer age;
}
在controller增加参数验证
@Valid
@PostMapping("/insert")
public JSONResult insert(@Valid @RequestBody User user) {
userService.insert(user);
return JSONResult.ok();
}
测试
请求参数中不带name,发现MethodArgumentNotValidException
异常
针对异常作处理
处理了异常捕获,但是返回给前端信息不明确
exception/GraceExceptionHandler
@ExceptionHandler(MethodArgumentNotValidException.class)
@ResponseBody
public JSONResult returnMyCustomException(MethodArgumentNotValidException e){
log.error("e:"+e);
return JSONResult.errorMsg("error");
}
断点查找相关错误信息
修改exception/GraceExceptionHandler
@ExceptionHandler(MethodArgumentNotValidException.class)
@ResponseBody
public JSONResult returnMyCustomException(MethodArgumentNotValidException e){
return JSONResult.errorException(e.getBindingResult().getAllErrors().get(0).getDefaultMessage());
}