springboot-validate-参数校验入门
引入依赖
spring-boot已经内置此包,直接引入此依赖即可
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
@Validated
在类上使用该注解,表明该类开启参数校验
@Valid
如果参数嵌套了另一个类,在此参数上加上注解,表明该嵌套类开启参数校验
常用校验
@NotEmpty
字符不为空
@NotNull
对象不为空
@Length(min=x,max=x)
字符串长度校验
@Size(min=x,max=x)
数组或list长度校验
更多校验
详见jar包中已有注解
实际使用
参数校验失败的时候,服务端会抛出一个异常,前端会返回一个错误
但以上结果并不能直观的告诉前端或者用户,我们可以统一捕获这个异常后再封装成我们想要的格式,例如统一异常处理
@RestControllerAdvice
public class GlobalException {
@ExceptionHandler
public String exception(Exception ex) {
if (ex instanceof ConstraintViolationException) {
return ex.getMessage();
}
if ( ex instanceof MethodArgumentNotValidException)