小辉是写接口的一个小菜鸟,今天就看到了一段代码,里面判断参数是否为空长度是多少,格式对不对等就是一堆判断,然后代码中就很多判断,或者单独写了判断方法,如果请求类不复用,或者复用但是判断都一样的话可以优先使用请求层校验,或者接口层校验。
请求层就是在Controller就判断,接口层就是在Service判断。对于不复杂的场景这些校验其实够了。
一:常用注解
这个包下面的注解,是不是很熟悉呀?下面小辉给你讲一下常用的哦。
1、@Null
这个其实很容易就看出来了,他就是值为null,为空其他都会报错,如果强制请求方传null可以使用改注解.
2、@NotNull
这个注解就很熟悉了吧,很多地方你可能已经用到了,很多都是见名知意,不为null,可以放在任何类型上面,只会判断该值是不是null.
3、@NotBlank
这个注解NotBlank应该也是常用的,看这个方法
org.apache.commons.lang3.StringUtils.isNotBlank()
这样类似的方法都应该使用过吧,只是不同的第三方包而已,本质就一样都是判断字符串是不是null,为不为空,该注解对应的是使用了trim()方法去除空格后根据长度来判断为不为空的。如果不想请求的字段为null和为空就可以考虑使用这个注解了。
4、@NotEmpty
这个注解看名字就知道就是不为空,如果用在字符串上面就只会判断长度为不为0,和为不为null,并且可以使用在下面数据类型上Collection(集合),Map,Array(数组)
5、@Size
被注解的元素必须在指定的范围,可以用在字符串长度的控制,集合元素个数的限制,作用于Collection(集合),Map,Array(数组)
6、@DecimalMin
使用注解的字段必须为数字,并且该值不能小于指定的值
7、@DecimalMax
使用注解的字段必须为数字,并且该值不