首页 > 其他分享 >多个参数校验代码

多个参数校验代码

时间:2023-07-14 14:22:04浏览次数:37  
标签:Collectors 代码 校验 isBlank nullParams 参数 new null StringUtils

            List<String> nullParams = Stream.of(
                            StringUtils.isBlank(client) ? "client" : null,
                            StringUtils.isBlank(redirect) ? "redirect" : null,
                            StringUtils.isBlank(unionId) ? "unionId" : null,
                            StringUtils.isBlank(openId) ? "openId" : null,
                            StringUtils.isBlank(wechatNickname) ? "wechatNickname" : null,
                            StringUtils.isBlank(wechatAvatar) ? "wechatAvatar" : null)
                    .filter(Objects::nonNull)
                    .collect(Collectors.toList());

            if (!nullParams.isEmpty()) {
                throw new SaSsoException("参数不能为空: " + String.join(", ", nullParams));
            }
            Map<Boolean, List<String>> nullParams = Stream.of(
                            new AbstractMap.SimpleEntry<>("sign", sign),
                            new AbstractMap.SimpleEntry<>("timestamp", timestamp),
                            new AbstractMap.SimpleEntry<>("nonce", nonce))
                            .collect(Collectors.groupingBy(entry -> StringUtils.isBlank(entry.getValue()),
                            Collectors.mapping(Map.Entry::getKey, Collectors.toList())));

            if (!nullParams.getOrDefault(true, Collections.emptyList()).isEmpty()) {
                throw new SaSsoException("检验参数不能为空: " + String.join(", ", nullParams.get(true)));
            }

 

标签:Collectors,代码,校验,isBlank,nullParams,参数,new,null,StringUtils
From: https://www.cnblogs.com/upupup-999/p/17553576.html

相关文章

  • java单元测试入参数不同出参不同怎么做
    项目方案-Java单元测试入参不同出参不同的处理背景和问题在软件开发过程中,我们经常需要编写单元测试来保证代码的正确性。但是,在某些情况下,相同的测试方法可能会根据不同的输入参数而产生不同的输出结果。这给单元测试的编写带来了一定的挑战,因为我们需要针对不同的参数情况编......
  • java代码注释乱码
    Java代码注释乱码解决方案代码注释是程序开发中的重要部分,它可以提供给其他开发者阅读和理解代码的关键信息。然而,有时候我们可能会遇到Java代码注释中出现乱码的问题。这种问题的出现可能是因为编码不匹配或者IDE环境的设置错误等原因导致的。本文将为您介绍一些常见的解决方案和......
  • java代码修改git提示
    实现Java代码修改Git提示概述在进行Java代码开发时,使用Git进行版本控制是非常常见的做法。在开发过程中,我们经常需要对代码进行修改,而每次修改代码后,我们都需要提交这些修改到Git仓库,并且最好附带一些有意义的提交信息,以便后续的代码审查和追踪。为了方便开发者在进行代码修改时......
  • java代码向stream消息队列发送消息失败
    如何实现Java代码向Stream消息队列发送消息失败作为一名经验丰富的开发者,您可以教会刚入行的小白如何实现Java代码向Stream消息队列发送消息失败。本文将按照以下流程展示步骤,并提供相应的代码和注释。流程图以下是实现该功能的整体流程图:步骤动作1.创建Stream连接......
  • java函数默认参数
    实现Java函数默认参数的步骤为了实现Java函数的默认参数,我们需要按照以下步骤进行操作。在下面的表格中,我将详细列出每个步骤所需做的事情,并提供代码示例和注释来解释其意义。步骤操作代码示例说明1创建一个函数publicvoidmyFunction(Stringparam1,intparam2)......
  • java过滤器塞不进去参数原因
    Java过滤器塞不进去参数原因解决方法作为一名经验丰富的开发者,我将为你解释在Java中为什么过滤器无法将参数传递,并提供解决方法。首先,让我们看一下整个过程的步骤:步骤操作1在Web.xml中配置过滤器2创建过滤器类3在过滤器类中获取和处理参数步骤1:在Web.xml中......
  • ckeditor粘贴word图片且图片文件自动上传源代码
    ​  自动导入Word图片,或者粘贴Word内容时自动上传所有的图片,并且最终保留Word样式,这应该是Web编辑器里面最基本的一个需求功能了。一般情况下我们将Word内容粘贴到Web编辑器(富文本编辑器)中时,编辑器都无法自动上传图片。需要用户手动一张张上传Word图片。如果只有一张图片还能......
  • 总监面(高级或架构):如何找到缓慢代码并判定代码执行效率,以及优化它的思路
    1、先使用一些集成测试插件(比如jmeter、metershpere)或者脚本定位到慢速接口,也可以通过日志分析cat|grep2、使用sonar、findbugs之类的插件定位复杂度较高的代码,(分析一下算法复杂度和空间复杂度)以及sql调用部分的代码3、先将调用的sql放到mysql上运行一遍,观测执行速度,如果存在......
  • Django中实现用户注册登录和个人资料设置后台代码实现
    Django中实现用户注册登录和个人资料设置后台代码实现1.1创建项目和app话不多说开始动手django-adminstartprojectloginpythonmanage.pystartappuser1.2设置时区和语言Django默认使用美国时间和英语,在项目的settings文件中,如下所示:LANGUAGE_CODE='en-us'TIME_Z......