• springboot使用validation 插件做数据校验


    不多说废话。

    首先,我们需要在入参实体对象中,使用注解,控制

    @Data
    public class UpdateShufflingRequest {
    private String shuffling_logo;
    private Integer shuffling_state;//是否轮播,0否,1是
    private String shuffling_no;//轮播图编号
    @NotEmpty(message="小区id不允许空")
    private String community_id;
    private Integer order_seq;
    }

    然后在controller中
    需要在入参实体对象前 加@Validated,通知容器需要对这些参数做校验
    BindingResult  是Validation插件中的类
    当校验不通过的时候,具体的响应信息会都在其中,假如我们队这些信息不做处理,返回前端的内容会多而杂。因此我们需要封装一下
    @RequestMapping("/updateShuffling")
    public CommonResponse updateShuffling(@Validated UpdateShufflingRequest updateShufflingRequest, BindingResult result){
    log.info( "updateShuffling start{}",JSONObject.toJSONString( updateShufflingRequest ) );
    if(result.hasErrors()) {
    //数据校验
    ErrValid errValid=ValidUtils.getErrorMsg( result );
    return ResponseUtil.failed( errValid.getCode(), errValid.getErrMsg() );
    }
    //......其他主体逻辑
    return ResponseUtil.success( "", "成功" );
    }

    public static ErrValid getErrorMsg(BindingResult result){
    StringBuffer msg = new StringBuffer();
    //获取错误字段集合
    List<FieldError> fieldErrors = result.getFieldErrors();
    //遍历错误字段获取错误消息
    for (FieldError fieldError : fieldErrors) {
    //获取错误信息
    //添加到错误消息集合内
    msg.append(fieldError.getField()+":"+fieldError.getDefaultMessage()+",");
    }
    String errMsg = msg.toString();
    ErrValid errValid = new ErrValid();
    errValid.setCode( 99999 );
    errValid.setErrMsg( errMsg.substring( 0,errMsg.length()-1 ) );
    return errValid;
    }

     至此,完成

    参考:https://ciweigg2.github.io/2018/08/05/springboot-qing-song-gao-ding-shu-ju-yan-zheng/

  • 相关阅读:
    配置YUM源出现Errno 14 Could not open/read repomd.xml 错误的解决办法
    Kubernetes imagePullPolicy拉取策略
    搭建高可用Kubernetes集群之etcd v3.4.13集群搭建(一)
    centos7启用 kubectl 自动补全
    jvm虚拟机
    音频EQ(均衡器)
    EDID:识别和解决常见问题指南(转)
    按键板的原理与实现 扩展GPIO(转)
    Tuner工作原理详解(转)
    STM32+W5500实现Web2个网页之间的切换(转)
  • 原文地址:https://www.cnblogs.com/memoa/p/10374412.html
Copyright © 2020-2023  润新知