SpringMVC Controller List参数的校验工具方法
发布日期:2021-11-11 12:48:04
浏览次数:2
分类:技术文章
本文共 2456 字,大约阅读时间需要 8 分钟。
请求类:
@Datapublic class ColumnUpdateDTO { @NotNull(message = "字段id不能为空") @ApiModelProperty(value = "字段id", required = true) private Long id; @ApiModelProperty(value = "字段中文名") private String columnName; @ApiModelProperty(value = "字段描述") private String comment;}
Controller:
@PostMapping("/updateColumnInfos") public ResponseEntityupdateColumnInfos( @RequestBody List columnUpdateDTOList) { ResultResponse resultResponse = BindingResultUtils.checkListError(columnUpdateDTOList); if (resultResponse.getCode() == HttpCodeEnum.FAIL.getCode()) { return ResponseEntity.ok(resultResponse); } // 业务代码 return ResponseEntity.ok(new ResultResponse().success()); }
工具方法:
public static ResultResponse checkListError(List list) throws IllegalAccessException { // 校验参数 if (CollectionUtils.isEmpty(list)) { ResultResponse resultResponse = new ResultResponse().fail(HttpCodeEnum.FAIL.getCode(), "数组不能为空"); return resultResponse; } ListerrorMessage = new ArrayList<>(); for (int i = 0; i < list.size(); i++) { Object object = list.get(i); Field[] fields = object.getClass().getDeclaredFields(); for (Field field : fields) { field.setAccessible(true); NotNull notNull = field.getAnnotation(NotNull.class); if (Objects.nonNull(notNull) && Objects.isNull(field.get(object))) { errorMessage.add("index[" + i + "]" + notNull.message()); } NotBlank notBlank = field.getAnnotation(NotBlank.class); if (Objects.nonNull(notBlank) && Objects.isNull(field.get(object))) { errorMessage.add("index[" + i + "]" + notBlank.message()); } NotEmpty notEmpty = field.getAnnotation(NotEmpty.class); if (Objects.nonNull(notEmpty) && Objects.isNull(field.get(object))) { errorMessage.add("index[" + i + "]" + notEmpty.message()); } } } if (errorMessage.size() > 0) { ResultResponse resultResponse = new ResultResponse().fail(HttpCodeEnum.FAIL.getCode(), errorMessage.stream().map(String::valueOf).collect(Collectors.joining(";"))); return resultResponse; } else { return new ResultResponse().success(); } }
转载地址:https://blog.csdn.net/Carson073/article/details/120261434 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2024年04月01日 15时07分00秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
POJ 2492 A Bug‘s Life【种类并查集】
2019-04-28
POJ 2236 Wireless Network【并查集】
2019-04-28
LeetCode C++ 214. Shortest Palindrome【字符串】困难
2019-04-28
洛谷 P2580 于是他错误的点名开始了【字典树/Map】
2019-04-28
HDU 3336 Count the string【KMP的next数组性质】
2019-04-28
洛谷 P1196 [NOI2002]银河英雄传说【带权并查集】
2019-04-28
HDU 4825 Xor Sum【01字典树/贪心】(两数最大/最小异或和)
2019-04-28
洛谷 P4551 最长异或路径【01字典树/贪心】
2019-04-28
LeetCode C++ 506. Relative Ranks【Sort】简单
2019-04-28
LeetCode C++ 504. Base 7【Math】简单
2019-04-28