当前位置: 首页 > news >正文

企业网站icp备案马鞍山网站seo

企业网站icp备案,马鞍山网站seo,汽车制作公司排名,查询价格的网站springboot在业务层校验对象参数是否必填 1.场景说明2.代码实现 1.场景说明 为什么不在控制层使用Validated或者Valid注解直接进行校验呢?例如通过excel导入数据,将excel数据转为实体类集合后,校验集合中属性是否符合要求。 2.代码实现 定义…

springboot在业务层校验对象参数是否必填

  • 1.场景说明
  • 2.代码实现

1.场景说明

        为什么不在控制层使用@Validated或者@Valid注解直接进行校验呢?例如通过excel导入数据,将excel数据转为实体类集合后,校验集合中属性是否符合要求。

2.代码实现

  1. 定义对象以及参数校验
@Data
public class IdentityDTO {/*** 标识值索引*/@NotNull(message = "index不能为空")private Integer index;/*** 标识值类型*/@NotBlank(message = "type不能为空")@Size(max = 32, message = "type长度不能超过{max}个字符")private String type;
}
  1. 添加字段校验工具类

import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import java.util.List;
import java.util.Set;public class ValidationUtils {private static final Validator validator = Validation.buildDefaultValidatorFactory().getValidator();/*** 校验对象或集合,并返回第一个校验不通过的字段的错误信息。* 如果所有字段校验通过,则返回 null。** @param obj 需要校验的对象或集合* @return 返回第一个校验不通过的字段的错误信息,如果所有字段校验通过,则返回 null。*/public static String validate(Object obj) {// 判断是否是 List 类型if (obj instanceof List) {List<?> list = (List<?>) obj;for (Object item : list) {Set<ConstraintViolation<Object>> violations = validator.validate(item);if (!violations.isEmpty()) {// 返回第一个校验不通过的字段的错误信息return violations.iterator().next().getMessage();}}} else {// 单个对象的校验Set<ConstraintViolation<Object>> violations = validator.validate(obj);if (!violations.isEmpty()) {// 返回第一个校验不通过的字段的错误信息return violations.iterator().next().getMessage();}}// 如果所有字段校验通过,返回 nullreturn null;}
}
  1. 业务层代码实现
    @Overridepublic R test(String data) {JSONObject jsonObject = JSON.parseObject(data);String suffix = jsonObject.getString("suffix");JSONArray jsonArray = jsonObject.getJSONArray("list");List<IdentityDTO> list = JSON.parseArray(jsonArray.toJSONString(), IdentityDTO.class);//参数校验String validationResult = ValidationUtils.validate(list);if (validationResult != null){return R.fail("操作失败",validationResult);}return R.ok();}
  1. 示例
    在这里插入图片描述
    在这里插入图片描述
http://www.yidumall.com/news/38361.html

相关文章:

  • 网站备案密码使用黄页引流推广网站软件免费
  • wordpress和csdn合肥网站推广优化
  • 如何做电影网站挣钱常州seo收费
  • 网站建设与管理专业介绍qq群推广软件
  • 官方智慧团建网站百度关键词优化软件网站
  • 网站建设背景介绍北京百度关键词推广
  • 网站空间管理权限重庆seo顾问服务
  • 第一次做网站选多大空间建网站多少钱
  • 建设银行的网站是什么网站内链优化
  • 开源程序网站十大免费域名
  • 网站建设 客户要退款汕头网站排名优化
  • 推动政府门户网站建设百度搜索引擎的功能
  • 网站栏目规划叫什么产品推广文案范例
  • 聊城冠县网站建设如何营销
  • 微信公众号?北京seo营销培训
  • 网站三要素怎么做商业软文怎么写
  • 网站备案 空间备案 域名备案无货源网店怎么开
  • 站酷网页设计分析如何写营销软文
  • 用html5做网站百度经验网站设计与建设的公司
  • 可以接项目做的网站南京seo排名优化公司
  • 自助下单平台网站什么软件可以推广
  • 怎么看别人网站在哪里做的外链市场调研报告万能模板
  • 现在做一个网站多少钱今日军事新闻视频
  • 网站制作属于什么行业模板建站优点
  • 全国知名网站排名手机游戏性能优化软件
  • 中山专业网站制作关键词林俊杰免费听
  • wordpress chinacdseo规则
  • 网站开发和网站建设公司关键词排名优化
  • 文旅网站界面设计小程序开发费用明细
  • wordpress固定链接设置静态链接海外网站seo优化