当前位置: 首页 > 知识库问答 >
问题:

动态请求中空手道数据类型更改[重复]

轩辕经国
2023-03-14

特性:动态json后台:

* def req1 = 
"""
    {
      "system":
      {
        "appVersion": "xxx",
        "clientIP": "x.y.z.a",
        "isPayloadEncrypted": true,
        "encryptionKey": ""
      },
      "payload":
      {
        "selectedProducts": [
          {
           "prodCode": "abc",
            "paymentMode": "Y",
        "selectedOpt": null,
        "selectedESOpt": null,
        "selectedComponents": [
          {
            "compoCode": "abc",
            "premium": 0,
            'term': <xyz>,
            'premiumTerm': <xyz>,
            "sumAssured": 100000,
          },
          {
            "compoCode": "abc2",
            "premium": 0,
            'term': <xyz>,
            'premiumTerm': <xyz>,
            "sumAssured": 100000,
          },

        ]
      }
    ]

  }
}

“”“

场景:验证术语*替换req1.xyz=10,给定url baseURL和路径“any path”,当方法post Then状态200时请求req1

日志中的错误:

[Fatal Error] :6:3: The element type "meta" must be terminated by the matching end-tag "</meta>".
16:44:43.449 [main] WARN  com.intuit.karate - xml parsing failed, response data type set to string: org.xml.sax.SAXParseException; lineNumber: 6;
 columnNumber: 3; The element type "meta" must be terminated by the matching end-tag "</meta>".
16:44:43.449 [main] ERROR com.intuit.karate - status code was: 500, expected: 200, response time: 220, url: https://sqs-pacs-poeonline-qa.ocpapps
-dev.pru.intranet.asia/api/compute, response: <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>TypeError: Cannot read property &#39;transactionId&#39; of undefined<br> &nbsp; &nbsp;at app.use (/usr/app/src/app.js:23:42)<br> &nbsp; &nbs
p;at Layer.handle_error (/usr/app/src/node_modules/express/lib/router/layer.js:71:5)<br> &nbsp; &nbsp;at trim_prefix (/usr/app/src/node_modules/e
xpress/lib/router/index.js:315:13)<br> &nbsp; &nbsp;at /usr/app/src/node_modules/express/lib/router/index.js:284:7<br> &nbsp; &nbsp;at Function.p
rocess_params (/usr/app/src/node_modules/express/lib/router/index.js:335:12)<br> &nbsp; &nbsp;at next (/usr/app/src/node_modules/express/lib/rout
er/index.js:275:10)<br> &nbsp; &nbsp;at /usr/app/src/node_modules/express/lib/router/index.js:635:15<br> &nbsp; &nbsp;at next (/usr/app/src/node_
modules/express/lib/router/index.js:260:14)<br> &nbsp; &nbsp;at Layer.handle_error (/usr/app/src/node_modules/express/lib/router/layer.js:67:12)<
br> &nbsp; &nbsp;at trim_prefix (/usr/app/src/node_modules/express/lib/router/index.js:315:13)</pre>
</body>
</html>

共有1个答案

宰父飞翼
2023-03-14

您确实应该更仔细地阅读文档。对于replace:

由于replace会自动将结果转换为字符串,所以如果适用,请确保将类型转换回JSON(或XML

并且有一整节是关于类型转换的。

* def xyz = 10
* def req1 = 
"""
    {
      "system":
      {
        "appVersion": "xxx",
        "clientIP": "x.y.z.a",
        "isPayloadEncrypted": true,
        "encryptionKey": ""
      },
      "payload":
      {
        "selectedProducts": [
          {
           "prodCode": "abc",
            "paymentMode": "Y",
        "selectedOpt": null,
        "selectedESOpt": null,
        "selectedComponents": [
          {
            "compoCode": "abc",
            "premium": 0,
            'term': '#(xyz)',
            'premiumTerm': '#(xyz)',
            "sumAssured": 100000,
          },
          {
            "compoCode": "abc2",
            "premium": 0,
            'term': '#(xyz)',
            'premiumTerm': '#(xyz)',
            "sumAssured": 100000,
          },

        ]
      }
    ]

  }
}
"""
 类似资料:
  • 我从中向R导入数据的平台不支持指定数据类型,因此我的所有列都是。我有一个Excel文件,指定哪些列是,包括相关的和。现在,我正在尝试编写一个函数来动态更改数据中各个列的数据类型。框架 多亏了对这个问题的出色回答(dplyr-mutate:use dynamic variable names),我成功地编写了以下函数,在其中我动态地将列名设置为函数。 它起作用了,每次迭代都会返回整个数据帧,相关列(

  • 自1.14.0开始,zuul网关支持动态修改请求参数。即在网关修改客户端传递过来的参数,然后发送到微服务端。 客户端参数{"name": "jim"} --> zuul中修改为{"name": "Lucy"} --> 微服务端将收到{"name": "Lucy"} 使用场景:客户端请求参数经过加密,在网关解密后,再次发送明文参数给微服务端 如何使用 在网关springboot启动函数中添加如下代

  • 现在有什么方法可以这样做,还是这是一个特性请求?

  • 问题内容: 我有一个Spring应用程序,我想动态更改数据源。当输入DS URL时,Spring Bean和所有依赖项将自动更新。我知道这有些奇怪,但是无论如何我都想实现。我的Spring配置如下: 问题是: JDBC URL存储在属性中,可以在运行时更改它。 更改URL后,我需要重新创建数据源,可能还需要重新创建相关对象。我不知道Spring如何优雅地做呢? 我知道Spring确实可以基于一个键

  • 我有一个Spring应用程序,我想动态更改数据源,即。当输入DS URL时,Spring bean和所有依赖项将自动更新。我知道这有点奇怪,但无论如何我想实现这一点。我的Spring配置如下: 问题是: > 一旦URL被更改,我需要重新创建数据源,可能还有依赖对象。我不知道如何在Spring优雅地做这件事? 我知道Spring可以基于一个键动态路由数据源,但数据源URL是在Spring中预定义的,

  • 本节讨论了MySQL 5.1中DECIMAL数据类型(以及其同义类型)的特性,尤其是下述方面: ·数字的最大数。 ·存储格式。 ·存储要求。 ·对DECIMAL列上界 的非标准MySQL扩展。 在本节中,对于为较早MySQL版本编写的应用程序,在相应的地方指出了可能的不兼容性。 DECIMAL列的声明语法是DECIMAL(M,D)。在MySQL 5.1中,参量的取值范围如下: ·M是数字的最大数(