您的位置:首页 > 教育 > 锐评 > 校验参数个数工具类

校验参数个数工具类

2024/10/6 10:26:58 来源:https://blog.csdn.net/jike11231/article/details/139537239  浏览:    关键词:校验参数个数工具类

项目中有个需求:前后端参数一致性校验,在某业务场景下后端代码需要校验参数个数,因此设计了1个工具类方便大伙使用,特此简单记录下。

校验参数个数工具类

  • 一、校验工具类CheckNumInsideParamters
  • 二、单元测试ParameterSizeTest
  • 三、测试验证
    • 1.字符串参数个数校验
    • 2.列表参数个数校验
  • 四、项目结构及源码
    • 1.项目结构
    • 2.源码下载

一、校验工具类CheckNumInsideParamters

/*** 校验参数字符串和列表个数** @DATE 2024/6/6**/
public class CheckNumInsideParamters {/*** 校验字符串列表参数个数** @param parameters 参数*/public static void checkInsideList(List<?>... parameters) {for (List<?> parameter : parameters) {checkInsideListParameter(parameter, null, 0);}}/*** 校验字符串个数** @param parameters 参数*/public static void checkInsideStr(String... parameters) {for (String parameter : parameters) {checkInsideListParameter(parameter, QueryParameterSizeConstant.SEMICOLON, 0);}}/*** 参数个数校验* 如果是列表,则customLimit表示其长度* 如果是字符串,则customLimit表示其通过分隔符strDelimiterr切分后的列表长度* (如果strDelimiterr为空,则customLimit表示字符串长度)** @param parameter     参数* @param strDelimiterr 分隔符* @param customLimit   自定义阈值长度*/public static void checkInsideListParameter(Object parameter, String strDelimiterr, int customLimit) {int limit = customLimit > 0 ? customLimit : QueryParameterSizeConstant.DEFAULT_SIZE;if (parameter instanceof List && ((List<?>) parameter).size() > limit) {// 根据业务需要,这里抛出自定义异常System.out.println("list exceed limit error");} else if (parameter instanceof String) {if (StringUtils.isNotBlank(strDelimiterr) &&((String) parameter).split(strDelimiterr, limit + 1).length > limit) {System.out.println("str exceed limit error");} else if (((String) parameter).length() > limit) {System.out.println("str exceed limit error");}}}
}

二、单元测试ParameterSizeTest

/*** 参数校验测试类** @DATE 2024/6/6**/
@SpringBootTest
public class ParameterSizeTest {// 字符串参数个数校验@Testpublic void strTest()  {String str = "zhangsanfeng0;zhangsanfeng1;zhangsanfeng2;zhangsanfeng3;";CheckNumInsideParamters.checkInsideStr(str);}// 列表参数个数校验@Testpublic void listTest()  {List<String> list = new ArrayList<>();list.add("zhangsanfeng0");list.add("zhangsanfeng1");list.add("zhangsanfeng2");list.add("zhangsanfeng3");CheckNumInsideParamters.checkInsideList(list);}
}

三、测试验证

1.字符串参数个数校验

在这里插入图片描述

2.列表参数个数校验

在这里插入图片描述

四、项目结构及源码

1.项目结构

在这里插入图片描述

2.源码下载

demo-springboot-mybatisplus
欢迎star

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com