后端对VO请求参数校验以及文件校验

控制层请求入参

/**
     * 保存
     */
    @RequestMapping("/save")
    @ResponseBody
    public ApiResponses<Void> save(@RequestParam(value = "appCompanyCheckVOJson")String appCompanyCheckVOJson,
                                   //主表附件
                                   @RequestParam(value = "busFiles") MultipartFile[] busFiles,
                                   @RequestParam(value = "expressFiles") MultipartFile[] expressFiles,
                                   @RequestParam(value = "cusFiles") MultipartFile[] cusFiles,
                                   @RequestParam(value = "agentFiles") MultipartFile[] agentFiles,
                                   @RequestParam(value = "wayBillFiles") MultipartFile[] wayBillFiles,
                                   @RequestParam(value = "legalFiles") MultipartFile[] legalFiles,
                                   //子表附件
                                   @RequestParam(value = "tranLicFiles") MultipartFile[] tranLicFiles,
                                   @RequestParam(value = "hireConFiles") MultipartFile[] hireConFiles,
                                   @RequestParam(value = "carPhotoFiles") MultipartFile[] carPhotoFiles,
                                   @RequestParam(value = "drvPmtFiles") MultipartFile[] drvPmtFiles,
                                   @RequestParam(value = "wareHireFiles") MultipartFile[] wareHireFiles,
                                   @RequestParam(value = "offHireFiles") MultipartFile[] offHireFiles,
                                   @RequestParam(value = "domCoopFiles") MultipartFile[] domCoopFiles,
                                   @RequestParam(value = "overCoopFiles") MultipartFile[] overCoopFiles )throws Exception{
}
        //字符解码
        String voString = StringEscapeUtils.unescapeHtml(appCompanyCheckVOJson);
        ObjectMapper mapper = new ObjectMapper();
        //字符串转对象
        AppCompanyCheckDetailVO detailVO = mapper.readValue(voString,AppCompanyCheckDetailVO.class);

        //校验参数
        BindingResult result = new BindException(detailVO,"detailVO");
                    springValidator.validate(detailVO.getAppCompanyCheckVO(),result,AppCompanyCheckVO.Save.class);
        if (result.hasErrors()) {
            String errorMessage = "参数错误或不完整:<br/>";
            List<ObjectError> allErrors = result.getAllErrors();
            for (ObjectError obj : allErrors) {
                errorMessage += obj.getDefaultMessage() + "<br/>";
            }
            ApiAssert.isNull(ErrorCodeEnum.BAD_REQUEST.convert(errorMessage));
        }
        //文件大小校验
        int maxiSize = 10;
        if (isOversize(busFiles,expressFiles,cusFiles,agentFiles,wayBillFiles,
                legalFiles, tranLicFiles,hireConFiles,carPhotoFiles,
                drvPmtFiles,wareHireFiles,offHireFiles,domCoopFiles,overCoopFiles,maxiSize)){
            ApiAssert.isNull(ErrorCodeEnum.BAD_REQUEST.convert("单个文件最大大小10MB"));
        }

主要是看校验参数的写法

AppCompanyCheckDetailVO对象里有个 AppCompanyCheckVO 对象
 

 这个AppCompanyCheckVO 对象里可以通过注解进行校验。下面有提供例子参考:

对象里要写这个接口

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值