【启动应用/任务】API 你没注意的踩坑点
评论
收藏

【启动应用/任务】API 你没注意的踩坑点

经验分享
旺仔
2024-06-19 11:52·浏览量:1044
旺仔
发布于 2024-06-19 11:521044浏览

背景:影刀是一款适用于广泛用户的桌面软件,它吸引了来自不同行业、编程能力各异的开发者。随着这些开发者技能的提升,他们开始深入学习影刀的中级课程,了解了影刀的接口触发功能。虽然许多开发者成功地跟随视频进行了实验,但是有的小伙伴结合他们的实际业务场景中,在第一步【启动应用】就报错了


这是:启动应用的请求实例,只需要配置对应账号、uuid、参数名称以及值就可以

但是,出现问题了


场景一---参数值报语法错误【 invalid syntax】

问题描述传递字符串参数时,value值内包含多个双引号“”,冲突导致转义失败


 可以的传参方式
 1. 
    "params": [
        {
        "name": "input",
        "value": "1,2,3",
        "type": "str"
        }
    ]
    2. 
        "params": [
        {
        "name": "input",
        "value": "{1,2,3}",
        "type": "str"
        }
    ]
    3. 
        "params": [
        {
        "name": "input",
        "value": "[1,2,3]",
        "type": "str"
        }
    ]
    

不可以的传参方式:

1. 
    "params": [
        {
        "name": "input",
        "value": ""1","2","3"",
        "type": "str"
        }
    ]
    2. 
        "params": [
        {
        "name": "input",
        "value": "{"1","2","3"}",
        "type": "str"
        }
    ]
    3. 
        "params": [
        {
        "name": "input",
        "value": "["1",2,3]",
        "type": "str"
        }
    ]

解决办法

最简单的解决办法就是将外层双引号写成单引号,就能够传递字符串参数中还有引号的变量了

1. 
    "params": [
        {
        "name": "input",
        "value":'"1","2","3"',
        "type": "str"
        }
    ]
    2. 
        "params": [
        {
        "name": "input",
        "value": '{"1","2","3"}',
        "type": "str"
        }
    ]
    3. 
        "params": [
        {
        "name": "input",
        "value": '["1",2,3]',
        "type": "str"
        }
    ]


场景二---无报错,写的基本一样,但是参数没传递过去


{
  "accountName": "admin@fckj",
  "robotUuid": "73d9a119-7ec7-4226-b679-506afefae667", 
  "idempotentUuid":"69ba7c82-4087-42ca-b1ce-bd117bfea097",
  "waitTimeout":"10m",
  "executeScope":"any",
  "priority": "middle", 
  "params":[
    {
      "name":"获取页数", 
      "value":"10",
      "type":"str" 
    }
  ]
}

问题描述参数需要时主流程的参数,如果使用的是子流程的参数,就会传递不过来

解决办法:


收藏3
全部评论1
最新
发布评论
评论