-
Notifications
You must be signed in to change notification settings - Fork 176
后端开发 后端参数验证
李昌文 edited this page Nov 11, 2018
·
2 revisions
- 在Controller上面添加注解 @Validated
- 在方法上面需要验证的参数上添加验证注解 @NotBlank(message = "退回理由不能为空")
- 示例:
@PutMapping("/{userId}")
public ResponseMessage test(@PathVariable("userId") String userId, @NotBlank(message = "理由不能为空") String auditRemark) {
return Result.success();
}
这里给出一些校验的注解,更多验证注解请参考hibernate-validate:
注解 | 含义 |
---|---|
@Null |
被注释的元素必须为 null
|
@NotNull |
被注释的元素必须不为 null
|
@AssertTrue |
被注释的元素必须为 true
|
@AssertFalse |
被注释的元素必须为false
|
@Min(value) |
被注释的元素必须是一个数字,其值必须大于等于指定的最小值 |
@Max(value) |
被注释的元素必须是一个数字,其值必须小于等于指定的最大值 |
@DecimalMin(value) |
被注释的元素必须是一个数字,其值必须大于等于指定的最小值 |
@DecimalMax(value) |
被注释的元素必须是一个数字,其值必须小于等于指定的最大值 |
@Size(max=, min=) |
被注释的元素的大小必须在指定的范围内 |
@Digits (integer,fraction) |
被注释的元素必须是一个数字,其值必须在可接受的范围内 |
@Past |
被注释的元素必须是一个过去的日期 |
@Future |
被注释的元素必须是一个将来的日期 |
@Pattern(regex=,flag=) |
被注释的元素必须符合指定的正则表达式 Hibernate Validator 附加的constraint
|
@NotBlank(message =) |
验证字符串非null ,且长度必须大于0 |
@Email |
被注释的元素必须是电子邮箱地址 |
@Length(min=,max=) |
被注释的字符串的大小必须在指定的范围内 |
@NotEmpty |
被注释的字符串的必须非空 |
@Range(min=,max=,message=) |
被注释的元素必须在合适的范围内 |
后端验证抛出失败抛出ConstraintViolationException,由NotValidExceptionAdvice拦截到异常,将验证失败的信息转换为统一的格式返回给前端处理