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/

  • 相关阅读:
    arcEngine classic code(2)
    VisualGraph文档
    基于.net2 的CAD 绘图控件virtualGraph(2)
    沈阳三维GIS软件开发人员
    arcEngine + .net 2 AccessViolationException
    数据库事务并发带来的问题
    理解 WPF Dispatcher
    扇入与扇出
    IComparable 与 IComparer
    同步、异步、多线程
  • 原文地址:https://www.cnblogs.com/memoa/p/10374412.html
Copyright © 2011-2022 走看看