控制层请求入参
/**
* 保存
*/
@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 对象里可以通过注解进行校验。下面有提供例子参考:
对象里要写这个接口