自定义请求

1. 简介

1.1 功能简介

自定义请求是指,基于现成的商业接口进行自定义配置,或根据自身需求封装接口,灵活地满足自身业务需求,从而实现接口取数、数据验证、数据分析、触发事件等一系列的操作。

1.2 应用场景

在阿里云/百度云等平台购买接口后,在简道云中使用接口时,需要通过前端事件中的自定义请求方法进行配置。

1.3 预期效果

以查询物流信息为例,自定义请求配置成功后效果如下所示:

2. 设置步骤

2.1 设置入口

在「前端事件 >> 执行动作」处的下拉框中选择「自定义请求」:

2.2 配置内容

2.2.1 请求类型

当触发字段值发生改变时,会自动触发 HTTP 请求,目前支持以下两种类型的请求:

  • GET 请求:用于获取服务端数据,将参数 (Query or Params) 在 URL 后面拼接,例如: ?code=123
  • POST 请求:用于发送、提交,可以向指定的资源提交要被处理的数据。

2.2.2 URL

1)URL 是请求的服务器地址。当使用 GET 请求时,需要把参数放在 URL 中,同时可以插入字段给参数赋值。

2)URL 地址中,支持插入的字段以及对应的解析值格式如下:

字段名称

解析值格式

单行文本

文本

数字控件

数字

单选按钮

文本

复选框

文本(逗号拼接)

下拉框

文本

下拉复选框

文本(逗号拼接)

时间日期

文本(UTC 格式时间字符串)

地址

地址字符串

定位

经度/纬度/地址字符串

流水号

文本

成员单选

文本(成员编号 username)

部门单选

文本(部门编号 dept_no)

图片

文本(图片 URL)(多文件 URL 拼接方式空格分隔)

附件

文本(附件 URL)(多文件 URL 拼接方式空格分隔)

手写签名

文本(附件 URL)(多文件 URL 拼接方式空格分隔)

子表单子字段

对应控件格式

注: URL 长度取决于配置服务器,如果过长将被截断,导致部分数据参数传输失败。

2.2.3 Header/Body

  • 当请求类型为「GET」时,仅支持设置 Header 参数;
  • 当请求类型为「POST」时,支持设置 Header 和 Body 参数。

两种参数的设置方法如下所示:

1) Header设置

每个 Header 参数设置中,都包含 name 和 Value 的设置。其中,Value 中可以插入表单字段,支持的字段同【3. URL】 处一致。

注:每个自定义请求中最多可添加 50 个 Header 。

2)Body设置

根据调用接口的不同,Body 参数可以设置为 JSON 和 x-www-form-urlencoded 两种格式。

每个 Body 参数设置中,都包含 name 和 Value 的设置。其中,Value 中可以插入表单字段,支持的字段同【3. URL】 处一致。

注:每个自定义请求中最多可添加 50 个 Body 。

2.2.4 返回值格式

返回值支持两种格式:JSON 和 XML,两种返回值格式对应的解析方式如下:

返回值格式

解析方式

JSON

JSON Path

XML

XPath

1)JSON Path

当返回示例如下时:

{
    "result": "result的内容",
    "testResult": {
        "target": "target的内容"
    },
    "data": [
        {
            "key": "扎啤",
            "value": "2"
        },
        {
            "key": "炸鸡",
            "value": "4"
        }
    ],
    "array": [
        "列表数据1",
        "列表数据2",
        "列表数据3",
        "列表数据4",
        "列表数据5"
    ]
}

对应返回值的 JSON Path 写法如下:

内容

写法一

写法二

“result的内容”

$.result

$[“result”]

“target的内容”

$.testResult.target

$[“testResult”][“target”]

“列表数据1”

$.array[0]

$[“array”][0]

“炸鸡”

$.data[1].key

$[“data”][1][“key”]

“4”

$.data[1].value

$[“data”][1][“value”]

注:简道云中的 JSON Path 写法不支持中文

2)XPath

当返回示例如下时:

<results>
   <result>result的内容</result>
   <testResult>
       <target>target的内容</target>
   </testResult>
   <data>
       <key>扎啤</key>
       <value>2</value>
       <key>炸鸡</key>
       <value>4</value>
   </data>
   <array>列表数据1列表数据2列表数据3列表数据4列表数据5</array>
</results>

对应返回值的 XPath 写法如下:

内容

写法

“result的内容”

/results/result/text()

“target的内容”

/results/testResult/target/text()

“列表数据1”

/results/array[1]/text()

“炸鸡”

/results/data[2]/key/text()

“2”

/results/data[1]/value/text()

2.2.5 返回值设置

返回值设置是指,将前端事件获取的数据赋值给表单字段。

1)点击返回值设置下方的「点击设置」:

2)点击「表单字段及对应返回值」,在下拉框中选择需要设置返回值的字段:

3)对返回值字段中配置赋值规则,可以直接赋值,也可以插入表单中的字段进行赋值:

注:返回值的写法由【2.2.4 返回值格式】决定,如果返回值格式为 JSON,需要按 JSON Path 的写法;如果返回值格式为 XML,则需要按 XPath 的写法。

4)支持设置返回值的字段及其对应的解析值格式如下:

字段名称

解析值格式

说明

单行文本

文本

——

多行文本

长文本

数字

数字

时间日期

日期时间

单选按钮组

文本

复选框组

文本数组

[“选项1”,“选项2”,“选项3”]

下拉框

文本

——

下拉复选框

文本数组

[“选项1”,“选项2”,“选项3”]

地址

地址 json

{“province”:“xx”,“city”:“xx”,“district”:“xx”,“detail”:“xx”}

子表单字段

字段对应格式

子表单为触发字段时,只可以返回值字段只能是同一个子表单里面的字段;主表为触发字段时,可以把数组写入子表单,子表单的行数为数组的行数

注:返回数据最大仅支持 256 KB

5)子表单填充方式

若在「添加表单字段及对应返回值」处选择了子表单中的字段,则需要同步设置子表单字段的填充方式。目前,简道云支持以下两种子表单字段填充方式:

填充方式

说明

直接填充到对应子字段

前端事件触发后,仅修改当前表对应的子字段的值,不影响其他子字段;重新触发后,从子表单第一行开始替换对应子字段的值。

先清空子表单再填充

前端事件触发后,先清空子表单中已有的值,再将子字段值填充到对应字段中。

以物流信息查询为例,直接填充到对应子字段和先清空子表单再填充的效果如下所示:

  • 直接填充到对应子字段:如申通快递有12 行物流信息,而邮政快递包裹有 8 行物流信息。若表单中已经显示了申通快递的 12 行物流信息,此时查询邮政快递包裹后,物流信息进行逐行替换。即仅替换前 8 行物流信息,而后 4 行物流信息依然是申通快递的物流信息。

  • 先清空子表单再填充:如申通快递有12 行物流信息,而邮政快递包裹有 8 行物流信息。若表单中已经显示了申通快递的 12 行物流信息,此时查询邮政快递包裹后,物流信息将全部替换,即仅显示邮政快递包裹的 8 行物流信息。

文档内容是否对您有帮助?
有帮助
没帮助没帮助
如需获取即时帮助,请联系技术支持
咨询
扫码领取100+零代码资料简道云官方微信号400-111-0890
图标在线咨询
立即体验