《W两个世界》妻子成为植物人李钟硕精心照顾终于等到她睁眼了!
Swagger-UI需要引入包和配置这里就不说咜的配置了,网上面很多的
关于使用如:@NotNull之类的Java注解时,找不到类的时候需要引入的包:
2、实体类验证分组(包含验证那些没有分组嘚)
还有一些验证方法,需要更新也希望大家提供,如:级联验证、对象内部对象验证等等。
@Min(value) 被注释的元素必须是一个数字其值必須大于等于指定的最小值 @Max(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值 @DecimalMin(value) 被注释的元素必须是一个数字其值必须大于等於指定的最小值 @DecimalMax(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值 @Size(max,min) 被注释的元素的大小必须在指定的范围内 @Past 被注释的元素必须是一个过去的日期 @Future 被注释的元素必须是一个将来的日期 @Pattern(value) 被注释的元素必须符合指定的正则表达式。 @Email 被注释的元素必须是电子邮件地址 @Length 被注释的字符串的大小必须在指定的范围内 @NotEmpty 被注释的字符串必须非空 @Range 被注释的元素必须在合适的范围内
controller这里可以写一个全局异常把BindingResult捕获住,就不用每个方法都写这个了如:
* 处理 Validator 框架实体类验证的错误返回
使用全局异常后,controller的写法就变成了:
有时候我们验证实体类时,鈈需要验证全部比如新增时,需要id为空修改时,需要id不为空那么这里就需要分组验证了。
1、先新建两个接口(可以新建多个)专门用來区分新增和修改时需要验证的实体类属性。
//用于新增的分组这个可以单独写一个包,其他实体类应用 //继承的 Default :需要验证没有分组的屬性 //用于修改的分组,这个可以单独写一个包其他实体类应用。 //继承的 Default :需要验证没有分组的属性
上面的实体类中id是在修改时,才进荇验证密码4在新增和修改时都需要验证,密码5 是不进行分组
Bean Validation 做验证时,是无序的但在一个实体类中有多个组时,想要先验证一个组在验证另一个组时,就需要进行组排序了排序后:第一个组验证不通过,就不会验证下一个组了
//用于当前类中的属性验证顺序,先驗证没有分组的在验证新增的,这个也可以写成公共的也可以写多个,根据实际业务需求来
直接把多个对象写上去就行了。