zoukankan      html  css  js  c++  java
  • 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/

  • 相关阅读:
    旺财速啃H5框架之Bootstrap(二)
    Java 8 的 Nashorn 脚本引擎教程
    kindeditor4整合SyntaxHighlighter,让代码亮起来
    让kindeditor显示高亮代码
    css伪元素用法大全
    弹性布局基础讲解与高效应用
    美化页面,从我做起
    深度理解微信小程序的思想
    程序员提升之道-人际交往篇
    前端-网站构建从零开始
  • 原文地址:https://www.cnblogs.com/memoa/p/10374412.html
Copyright © 2011-2022 走看看