使用Hibernate验证信息

文章目录

  • 前言
  • 一、Hibernate是什么?
  • 二、常用标签
  • 三、使用
  • 总结


前言

在编写controller的时候,往往需要接受前端发来的信息,这个时候为了保证系统的安全和可靠性,就算前端在发送之前已经进行了内容验证,但是传送到后端处理之前依然要进行一次检查。当检查的内容量较大或者检查的方式较为单一,会出现代码冗余有失优雅。


一、Hibernate是什么?

Hibernate是依赖于Spring-boot-stater-web的,所以在导入该依赖后,Hibernate也会自动的导入。该类存在很多的验证注解(加在实体类的属性上),在实际操作中用于验证信息的规范性。

二、常用标签

1.@NotBlank(msg = "???") //不为空
2.@Length(max = 12 , message = "")
3.@Pattern(regexp = "") // 正则匹配
4.@Email
5.@Min(value = 1)  @Max(value = 3)

三、使用

@GetMapping("/test")
    public JSONResult test(@RequestBody @Valid UserBO userBO ,
                           BindingResult result){
     
        if(result.hasErrors()){
     
            Map<String, String> errors = getErrors(result);
            return JSONResult.errorMap(errors);
        }

        return null;
    }

    private Map<String , String > getErrors(BindingResult result){
     
        List<FieldError> fieldErrors = result.getFieldErrors();
        Map<String , String > map = new HashMap<>();
        for(FieldError error : fieldErrors){
     
            //获取报错属性
            String field = error.getField();
            //获取错误信息
            String defaultMessage = error.getDefaultMessage();
            map.put(field,defaultMessage);
        }
        return map;
    }

总结

利用Hibernate可以极大的简化前端发送的信息的验证,熟悉其中的各种验证注解和用法,可以大大的提高开发效率。

你可能感兴趣的:(java,spring)