自訂請求

簡介

功能簡介

自訂請求是指,基於現成的商業API進行自訂配置,或根據自身需求封裝API,靈活地滿足自身業務需求,從而實現API取數、資料驗證、資料分析、觸發事件等一系列的操作。

應用場景

在第三方平台購買API後,在 Jodoo 中使用API時,需要透過前端事件中的自訂請求方法進行配置。

預期效果

以查詢部門成員為例,自訂請求配置成功後效果如下所示:

設定步驟

設定入口

在「前端事件 > 執行動作」處的下拉單選中選擇「自訂請求」:

配置內容

1. 請求類型

當觸發欄位值發生改變時,會自動觸發 HTTP 請求,目前支援以下兩種類型的請求:

  • GET 請求:用於取得服務端資料,將參數 (Query or Params) 在 URL 後面拼接,例如: ?code=123
  • POST 請求:用於發送、送出,可以向指定的資源送出要被處理的資料。

2. URL

a. URL 是請求的伺服器地址。當使用 GET 請求時,需要把參數放在 URL 中,同時可以插入欄位給參數賦值。

b. URL 地址中,支援插入的欄位以及對應的解析值格式如下:

欄位名稱

解析值格式

單行文字

文字

數字控件

數字

單選

文字

複選框

文字(逗號拼接)

下拉單選

文字

下拉複選框

文字(逗號拼接)

時間日期

文字(UTC 格式時間字串)

流水號

文字

成員單選

文字(成員編號 username)

部門單選

文字(部門編號 dept_no)

圖片

文字(圖片 URL)(多文件 URL 拼接方式空格分隔)

附件

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

手寫簽名

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

子表單子欄位

對應控件格式

附註

URL 長度取決於配置伺服器,如果過長將被切斷,導致部分資料參數傳輸失敗。

3. Header/Body

  • 當請求類型為「GET」時,僅支援設定 Header 參數;
  • 當請求類型為「POST」時,支援設定 Header 和 Body 參數。

兩種參數的設定方法如下所示:

a. Header設定

每個 Header 參數設定中,都包含 name 和 Value 的設定。其中,Value 中可以插入表單欄位,支援的欄位同【URL】 處一致。

附註

每個自訂請求中最多可新增 50 個 Header 。

b. Body設定

根據調用API的不同,Body 參數可以設定為 JSON 和 x-www-form-urlencoded 兩種格式。

每個 Body 參數設定中,都包含 name 和 Value 的設定。其中,Value 中可以插入表單欄位,支援的欄位同【3. URL】 處一致。

附註

每個自訂請求中最多可新增 50 個 Body 。

4. 返回值格式

返回值支援兩種格式:JSON 和 XML,兩種返回值格式對應的解析方式如下:

返回值格式

解析方式

JSON

JSON Path

XML

XPath

a. 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”]

“2”

$.data[1].value

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

b. 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()

5. 返回值設定

返回值設定是指,將前端事件取得的資料賦值給表單欄位。

a. 點擊返回值設定下方的「點擊設定」:

b. 點擊「表單欄位及對應返回值」,在下拉單選中選擇需要設定返回值的欄位:

c. 對返回值欄位中配置賦值規則,可以直接賦值,也可以插入表單中的欄位進行賦值:

附註

返回值的寫法由返回值格式決定,如果返回值格式為 JSON,需要按 JSON Path 的寫法;如果返回值格式為 XML,則需要按 XPath 的寫法。

d. 支援設定返回值的欄位及其對應的解析值格式如下:

欄位名稱

解析值格式

說明

單行文字

文字

——

多行文字

長文字

數字

數字

時間日期

日期時間

單選

文字

複選

文字陣列

[“選項1”,“選項2”,“選項3”]

下拉單選

文字

——

下拉複選框

文字陣列

[“選項1”,“選項2”,“選項3”]

子表單欄位

欄位對應格式

子表單為觸發欄位時,只可以返回值欄位只能是同一個子表單裏面的欄位;主表為觸發欄位時,可以把陣列寫入子表單,子表單的行數為陣列的行數

附註

返回資料最大僅支援 256 KB。

e. 子表單填充方式

若在「新增表單欄位及對應返回值」處選擇了子表單中的欄位,則需要同步設定子表單欄位的填充方式。目前,Jodoo支援以下兩種子表單欄位填充方式:

填充方式

說明

直接填充到對應子欄位

前端事件觸發後,僅修改當前表對應的子欄位的值,不影響其他子欄位;重新觸發後,從子表單第一行開始替換對應子欄位的值。

先清空子表單再填充

前端事件觸發後,先清空子表單中已有的值,再將子欄位值填充到對應欄位中。

這項資訊有幫助嗎?
需要更多協助嗎?聯繋技術支援。