目录
概述
在SpringBoot中使用@NotBlank等校验,首先应注意SpringBoot的版本。
如果是是2.3.1或者以上,需要添加注解依赖的包。
添加依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency>
Controller
注意添加 @Valid
@RestController
@RequestMapping("/test")
public class TestController {
@PostMapping("/do")
public String do(@RequestBody @Valid Dto dto) {
return dto.getName();
}
}
Dto
@Data
public class Dto {
@NotBlank(message = "name不能为空")
private String name;
}
统一的异常响应格式
@RestControllerAdvice
@Data
public class NotValidR {
private String code;
private String Msg;
@ResponseBody
@ExceptionHandler(MethodArgumentNotValidException.class)
public NotValidR notValidR(MethodArgumentNotValidException e)
{
NotValidR notValid = new NotValidR();
notValid.setCode("400");
notValid.setMsg(e.getBindingResult().getFieldError().getDefaultMessage());
return notValid;
}
}