热门标签 | 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();

推荐阅读
  • 本文介绍了一种在PHP中对二维数组根据某个字段进行排序的方法,以年龄字段为例,按照倒序的方式进行排序,并给出了具体的代码实现。 ... [详细]
  • vue使用
    关键词: ... [详细]
  • 电话号码的字母组合解题思路和代码示例
    本文介绍了力扣题目《电话号码的字母组合》的解题思路和代码示例。通过使用哈希表和递归求解的方法,可以将给定的电话号码转换为对应的字母组合。详细的解题思路和代码示例可以帮助读者更好地理解和实现该题目。 ... [详细]
  • IhaveconfiguredanactionforaremotenotificationwhenitarrivestomyiOsapp.Iwanttwodiff ... [详细]
  • 20211101CleverTap参与度和分析工具功能平台学习/实践
    1.应用场景主要用于学习CleverTap的使用,该平台主要用于客户保留与参与平台.为客户提供价值.这里接触到的原因,是目前公司用到该平台的服务~2.学习操作 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 李逍遥寻找仙药的迷阵之旅
    本文讲述了少年李逍遥为了救治婶婶的病情,前往仙灵岛寻找仙药的故事。他需要穿越一个由M×N个方格组成的迷阵,有些方格内有怪物,有些方格是安全的。李逍遥需要避开有怪物的方格,并经过最少的方格,找到仙药。在寻找的过程中,他还会遇到神秘人物。本文提供了一个迷阵样例及李逍遥找到仙药的路线。 ... [详细]
  • ScrollView嵌套Collectionview无痕衔接四向滚动,支持自定义TitleView
    本文介绍了如何实现ScrollView嵌套Collectionview无痕衔接四向滚动,并支持自定义TitleView。通过使用MainScrollView作为最底层,headView作为上部分,TitleView作为中间部分,Collectionview作为下面部分,实现了滚动效果。同时还介绍了使用runtime拦截_notifyDidScroll方法来实现滚动代理的方法。具体实现代码可以在github地址中找到。 ... [详细]
  • 模板引擎StringTemplate的使用方法和特点
    本文介绍了模板引擎StringTemplate的使用方法和特点,包括强制Model和View的分离、Lazy-Evaluation、Recursive enable等。同时,还介绍了StringTemplate语法中的属性和普通字符的使用方法,并提供了向模板填充属性的示例代码。 ... [详细]
  • 本文介绍了Codeforces Round #321 (Div. 2)比赛中的问题Kefa and Dishes,通过状压和spfa算法解决了这个问题。给定一个有向图,求在不超过m步的情况下,能获得的最大权值和。点不能重复走。文章详细介绍了问题的题意、解题思路和代码实现。 ... [详细]
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社区 版权所有