热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于SpringBoot124周末进展汇报

angular首页问题查问参数不起作用,这个问题是学长解决的,但感觉有必要记录一下查问时机器人治理连贯状态不起作用在mockApi中打印承受到的参数,查看控制台,发现传过来的连贯状态参数为空查问时的过程点击查问后执行onSubmit()办法{代码}onSubmit()执行reload()办法{代码}{代码}在这个办法中并没有对boo

angular首页问题

查问参数不起作用,这个问题是学长解决的,但感觉有必要记录一下
查问时机器人治理连贯状态不起作用

在mockApi中打印承受到的参数,查看控制台,发现传过来的连贯状态参数为空

查问时的过程
点击查问后执行onSubmit()办法

onSubmit(queryForm: FormGroup): void {
    this.reload({...this.params, ...queryForm.value});
  }

onSubmit()执行reload()办法

/**
   * 查问
   * @param params page: 当前页 size: 每页大小
   */
  reload(params: Params): void {
    // 将参数转换为路由参数
    const queryParams = CommonService.convertToRouteParams(params);
    console.log('queryParams',queryParams);
    this.router.navigate(['./'],
      {
        relativeTo: this.route,
        queryParams: queryParams,
      }).then();
  }

/**
   * 将参数转换为路由参数
   * @param params 参数
   * @return 实用于route的Params
   */
  public static convertToRouteParams(params: { [header: string]: string | string[] | number | number[] | null | undefined; })
    : { [header: string]: string | string[]; } {
    const queryParams = {} as { [header: string]: string | string[]; };
    // 过滤掉undefined及null的数据
    for (const key in params) {
      if (params[key] !== undefined) {
        const value = params[key];
        if (value !== undefined || value !== null) {
          if (typeof value === 'string') {
            if (value.length > 0) {
              queryParams[key] = value;
            }
          } else if (typeof value === 'number') {
            queryParams[key] = value.toString();
          } else if (Array.isArray(value)) {
            queryParams[key] = [];
            (value as []).forEach(v => {
              if (typeof v === 'number') {
                (queryParams[key] as string[]).push((v as number).toString());
              } else {
                (queryParams[key] as string[]).push(v);
              }
            });
          }
        }
      }
    }
    return queryParams;
  }

在这个办法中并没有对boolean值得解决,所以传过来的boolean值间接被过滤掉了,而我在抉择组件中恰好将类型申明为了boolean,这就导致了这样的问题。

批改后解决

另一个问题,在另一个首页的组件中因为没有加上面的代码导致刷新或切换页面后查问参数隐没。

这个比拟奇怪,就是加了这几行代码在单元测试是如果刷新或者查问的话查问参数会间接隐没。

然而如果不加的话在单元测试就不会有这个问题

所以过后一时冲动就给删了
然而起初认真想一下忽然就明确了,如果我加上依据路由参数初始化formControl的代码,我在每次单元测试时传的参数都是空的,所以点击查问时天然不会保留数据,但我仍然不太明确为什么我不加那一串代码的话点击查问后查问参数会被保留,猜想是因为angular并没有检测到这几个值得变动,所以在点击查问后 没有从新加载查问的表单。

简略捋一下首页的流程

学习springBoot一些问题

在写单元测试遗记加注解导致问题

因为引入的包谬误导致的问题

单元测试一些不太好了解的代码

学习springboot后发现springboot的单元测试比angular的更为简单,汪汪测试的代码比理论实现性能的代码更多,springboot的单元测试也更为简单。

@Test
    public void save() throws Exception { 
        String url = "/Klass"; // 申请路由
        MockHttpServletRequestBuilder 
// 结构post申请
postRequest = MockMvcRequestBuilders.post(url) 
                .contentType("application/json;charset=UTF-8") // 数据格式
                .content("{\"name\":\"测试单元测试班级\"}") ; // 申请内容
// 发动post申请
        this.mockMvc.perform(postRequest)
                .andDo(MockMvcResultHandlers.print()) // 打印后果
                .andExpect(MockMvcResultMatchers.status().is(201));// 断言
    }

当对studentService发动申请且申请的类型为Student时返回returnStudent

Mockito.when( 
            studentService.save(
                    Mockito.any(Student.class)))
            .thenReturn(returnStudent);
logger.info("新建参数捕捉器");
// 初始化一个能够捕捉Student类型变量的捕捉器
ArgumentCaptor studentArgumentCaptor = ArgumentCaptor.forClass(Student.class);  
// 当调用studentService.save办法时,应用studentArgumentCaptor.capture()来捕捉参数的值
Mockito.verify(studentService).save(studentArgumentCaptor.capture()); 
// 获取参数捕捉器的值
Student passedStudent = studentArgumentCaptor.getValue();

推荐阅读
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • 本文介绍了P1651题目的描述和要求,以及计算能搭建的塔的最大高度的方法。通过动态规划和状压技术,将问题转化为求解差值的问题,并定义了相应的状态。最终得出了计算最大高度的解法。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • phpcomposer 那个中文镜像是不是凉了 ... [详细]
  • 本文介绍了深入浅出Linux设备驱动编程的重要性,以及两种加载和删除Linux内核模块的方法。通过一个内核模块的例子,展示了模块的编译和加载过程,并讨论了模块对内核大小的控制。深入理解Linux设备驱动编程对于开发者来说非常重要。 ... [详细]
  • ScrollView嵌套Collectionview无痕衔接四向滚动,支持自定义TitleView
    本文介绍了如何实现ScrollView嵌套Collectionview无痕衔接四向滚动,并支持自定义TitleView。通过使用MainScrollView作为最底层,headView作为上部分,TitleView作为中间部分,Collectionview作为下面部分,实现了滚动效果。同时还介绍了使用runtime拦截_notifyDidScroll方法来实现滚动代理的方法。具体实现代码可以在github地址中找到。 ... [详细]
author-avatar
祗想抱著伱
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有