spring boot 参数校验

@NotEmpty、@NotBlank、@NotNull 区别和使用

首先需要说明下,本提到的 @NotEmpty、@NotBlank、@NotNull 分别是
javax.validation.constraints.NotEmpty、javax.validation.constraints.NotBlank 、javax.validation.constraints.NotNull。

通过注解的方式我们可以更加优雅的对参数的格式进行校验,但是在使用 @NotEmpty、@NotBlank、@NotNull 的过程中,由于含义有点类似,所以导致使用的时候会有一些迷茫,下面,对这三个注解逐一进行使用上的说明:

@NotNull
适用于基本数据类型(Integer,Long,Double等等),当 @NotNull 注解被使用在 String 类型的数据上,则表示该数据不能为 Null(但是可以为 Empty)
@NotBlank
适用于 String 类型的数据上,加了@NotBlank 注解的参数不能为 Null 且 trim() 之后 size > 0
@NotEmpty
适用于 String、Collection集合、Map、数组等等,加了@NotEmpty 注解的参数不能为 Null 或者 长度为 0
在使用这些注解的时候,还需要注意一点(注:否则会造成注解无效哦!!),那就是在Controller 层定义方法的时候在参数位置上加上 @Valid(javax.validation.Valid) 注解!!!如下图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这两个参数必须挨着,否则会报错400

Utils工具类

public class Utils {
   
    private static Logger log = LoggerFactory.getLogger(Utils.class);
    public static ObjectMapper mapper = new ObjectMapper();

    public Utils() {
   
    }

    public static String toJSONString(Object obj) {
   
        if (null == obj) {
   
            return null;
        } else {
   
            try {
   
                return mapper.writeValueAsString(obj);
            } catch (JsonProcessingException var2) {
   
                log.error("系统异常:", var2);
                return null;
            }
        }
    }

    public static void info(Object info) {
   
        try {
   
            System.out.println(mapper.writeValueAsString(info));
        } catch (Exception var2) {
   
            log.error("系统异常:", var2);
        }

    }

    public static void info(Logger log, String info, Object... objs) {
   
        try {
   
            String[] strs = new String[objs.length];

            for(int i = 0; i < objs.length; ++i) {
   
                Object o = objs[i];
                strs[i] = mapper.writeValueAsString(o);
            }

            log.info(info, strs);
        } catch (Exception var6) {
   
            log.error("系统异常:", var6);
        }

    }

    public static String getReturnErrors(List<ObjectError> list) {
   
        Map<String, String> fieldErrors = new HashMap();
        Iterator var2 = list.iterator();

        String key;
        while(var2.hasNext()) {
   
            ObjectError fieldError = (ObjectError)var2.next();
            key = fieldError.getCode();
            String msg = fieldError
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值