You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Karate 0.9.6升级至1.0.1版本空数组请求参数未传递问题

问题原因

Karate 从1.0版本开始默认开启了请求参数自动过滤逻辑,值为null、空数组、空对象的参数会被自动剔除,不会携带到最终请求中,所以会出现空数组filterTypes丢失的问题。

解决方案

你可以根据场景选择以下任意一种方案处理:

  • 方案1:全局修改配置,还原0.9.6版本的参数行为
    在项目的karate-config.js配置文件中添加以下配置:

    karate.configure('params', { ignoreNull: false, ignoreEmpty: false });
    

    配置后所有请求都不会自动过滤空值、空集合类参数。

  • 方案2:单条用例临时生效,无需修改全局配置
    在对应用例的参数赋值前添加配置行即可:

    Given url homeUrl
    And path 'types'
    * configure params = { ignoreNull: false, ignoreEmpty: false }
    And param filterTypes = []
    When method GET
    Then status 200
    And match response = '#[0]'
    
  • 方案3:直接传递空数组的字符串形式
    如果你不想修改过滤规则,也可以直接传入字符串格式的空数组,也会正常被携带:

    And param filterTypes = '[]'
    

内容的提问来源于stack exchange,提问作者bshek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 06:48:03