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 ResponseEntity
updateColumnInfos( @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;        }        List
errorMessage = 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:基于Neo4j实现数据血缘管理
下一篇:Mybatis-Plus报Invalid bound statement (not found)

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月01日 15时07分00秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章