整合外部API與核心元件Forms中的視覺化規則編輯器

最適化表單中的視覺化規則編輯器支援​ 叫用服務 ​功能,可讓您透過針對執行個體設定的表單資料模型(FDM)連線到外部API。 您可以將表單欄位直接對應至服務的輸入引數,並使用事件裝載選項來對應輸出引數。 視覺規則編輯器也可讓您根據服務的回應,定義成功和失敗處理常式的規則:成功處理常式處理成功的API呼叫,而失敗處理常式處理錯誤。

這可讓您輕鬆地從表單傳送API請求、處理API回應,並在表單中動態顯示或使用傳回的資料。 它可確保最適化表單與外部系統或資料來源之間的無縫整合。

在表單的規則編輯器中使用「叫用服務」的優勢

在自適應表單的規則編輯器中使用「叫用服務」作業的優點如下:

  • 簡化的API整合:視覺規則編輯器簡化了將外部服務或API整合至最適化Forms的程式。 透過​啟動服務,您可以輕鬆地將表單連線到各種資料來源和服務,而不需要複雜的程式碼,讓表單整合更有效率。

  • 動態回應處理:您可以根據​ 叫用服務 ​的輸出回應來管理成功和錯誤回應,讓表單能夠動態回應不同的情境。 它可確保表單適當地處理各種條件,提高彈性和控制能力。

  • 增強的使用者互動:在規則編輯器中使用​ Invoke Service ​可啟用表單中的即時驗證,提供更佳的使用者體驗。 此外,還可確保資料在伺服器端通過精確驗證,減少錯誤並提升表單可靠性。

啟動服務處理常式以取得成功和失敗回應

NOTE
您只能對以核心元件為基礎的表單使用​ 啟動服務 ​成功和失敗處理常式。 以基礎元件為基礎的Forms不支援​ 叫用服務 ​成功和失敗處理常式。

視覺化規則編輯器可讓您根據輸出回應,為​ Invoke Service ​作業建立成功和失敗處理常式的規則。 下圖描繪了最適化表單的視覺化規則編輯器中的​叫用服務

啟動服務處理常式

新增成功處理常式和失敗處理常式

若要新增成功或失敗處理常式,請分別按一下​ 新增成功處理常式 ​或​新增失敗處理常式

當您按一下​ 新增成功處理常式 ​時,會出現​ 叫用服務成功處理常式 ​規則編輯器,可讓您指定規則或邏輯,在作業成功時管理​ 叫用服務 ​輸出回應。 即使不定義條件,您也可以指定規則;不過,您可以按一下​ 新增條件 ​選項,為成功處理常式新增條件。

啟動服務成功處理程式

您可以新增多個規則來處理​ 啟動服務 ​作業的成功回應:

多個成功處理常式 {width="50%,"}

同樣地,您可以新增規則,以便在作業失敗時處理​ 叫用服務 ​輸出回應。 下圖顯示​ 啟動服務失敗處理常式 ​規則編輯器:

啟動服務失敗處理常式

您也可以新增多個規則來處理來自​ 叫用服務 ​作業的不成功回應。

伺服器​ 上的 ​啟用錯誤驗證功能允許作者在設計要在伺服器上執行的Adaptive Form時新增驗證。

在規則編輯器中使用叫用服務的先決條件

在規則編輯器中使用​ 叫用服務 ​之前,您必須滿足下列必要條件:

  • 請確定您已設定資料來源。 如需設定資料來源的指示,請按一下這裡
  • 使用已設定的資料來源建立表單資料模型。 如需建立表單資料模型的相關指引,請按一下這裡
  • 確認您的環境已啟用核心元件。 安裝最新的Far,為AEM Cloud Service環境啟用最適化Forms核心元件。

透過不同的使用案例探索啟動服務

視覺規則編輯器的​ Invoke Service ​可讓您執行數個有用的作業。 您可以使用它來填入下拉式清單選項、設定可重複或簡單的面板,以及驗證表單欄位,全都依據​ 叫用服務 ​的輸出回應。 因此,可增強表單的彈性和互動性。

下表說明幾個可使用​ 叫用服務 ​的情況:

使用案例
說明
使用叫用服務的輸出填入下拉式清單選項
會根據從叫用服務輸出擷取的資料,動態填入下拉式清單選項。 按一下這裡,檢視實作。
使用Invoke Service的輸出設定可重複的面板
使用叫用服務輸出的資料來設定可重複的面板,允許動態面板。 按一下這裡,檢視實作。
使用Invoke Service的輸出設定面板
使用叫用服務輸出中的特定值來設定面板的內容或可見度。 按一下這裡,檢視實作。
使用叫用服務的輸出引數來驗證其他欄位
使用來自叫用服務的特定輸出引數來驗證表單欄位。 按一下這裡,檢視實作。
使用事件裝載導覽至叫用服務中的動作
使用事件裝載來處理成功和失敗回應,並在導覽期間將資料傳遞至「導覽至」動作。 按一下這裡檢視實作。

建立根據Get Information文字方塊中輸入之輸入擷取值的Pet ID表單。 底下熒幕擷圖顯示以下使用案例中所使用的表單:

取得資訊表單

表單欄位

新增下列欄位至表單:

  • 輸入Pet ID: Textbox

  • 選取像片URL:下拉式清單

  • 標籤:面板

    • 名稱:文字方塊
    • ID:文字方塊
  • 類別:面板

    • 名稱:文字方塊
  • 提交:提交按鈕

NOTE
在表單欄位的​ 屬性 ​對話方塊中的​ 繫結參考 ​欄位中,選取 foldersearch_18 ,並導覽以選取您在表單資料模型(FDM)中新增的二進位屬性。

設定面板

將面板設定為具有下列限制的重複面板:

  • 最小值: 1
  • 最大值: 4

您可以調整重複式面板的值,以符合您的需求。

資料來源

在此範例中,Swagger Petstore API是用來設定資料來源。 已針對getPetById服務設定表單資料模型,該服務會根據輸入的ID擷取pet詳細資料。

讓我們使用Swagger Petstore API中的addPet服務發佈下列JSON:

{
        "id": 101,
        "category": {
            "id": 1,
            "name": "Labrador"
        },
        "name": "Lisa",
        "photoUrls": [
            "https://example.com/photos/lisa1.jpg",
            "https://example.com/photos/lisa2.jpg"
        ],
        "tags": [
            {
                "id": 1,
                "name": "vaccinated"
            },
            {
                "id": 2,
                "name": "friendly"
            },
            {
                "id": 3,
                "name": "house-trained"
            }
        ],
        "status": "available"
    }

規則和邏輯是使用​ 文字方塊上的規則編輯器中的 ​叫用服務Pet ID動作實作,以示範提及的使用案例。

現在,讓我們詳細探討每個使用案例的實作。

使用案例1:使用叫用服務的輸出填入下拉式清單值

此使用案例示範如何根據Invoke Service的輸出動態填入下拉式選項。

實施

若要達成此目的,請在Pet ID文字方塊上建立規則以叫用getPetById服務。 在規則中,將enum新增成功處理常式photo-urlphotoUrls下拉式清單的​屬性設定為

設定下拉式清單值

NOTE
請參閱新增成功處理常式與失敗處理常式區段,瞭解如何設定成功和失敗處理常式。

輸出

101文字方塊中輸入Pet ID,以根據輸入的值動態填入下拉式清單選項。

結果

使用案例2:使用叫用服務的輸出設定可重複面板

此使用案例示範如何根據​ 叫用服務 ​的輸出動態填入可重複面板。

考量事項

  • 確定可重複面板的名稱符合您要為其設定面板的​ Invoke Service ​的引數。
  • 面板會針對對應的​ Invoke Service ​欄位傳回的值數重複執行。

實施

Pet ID文字方塊上建立規則以叫用getPetById服務。 在​ 新增成功處理常式 ​中,新增另一個成功處理常式回應。 在規則中將tags面板的值設定為tags

建立可重複面板的規則

NOTE
請參閱新增成功處理常式與失敗處理常式區段,瞭解如何設定成功和失敗處理常式。

輸出

101文字方塊中輸入Pet ID,以根據輸入值動態填入可重複面板。

輸出

使用案例3:使用叫用服務的輸出設定面板

此使用案例示範如何根據​ 啟動服務 ​的輸出動態設定面板的值。

考量事項

  • 確定面板的名稱符合您要設定面板的​ 啟動服務 ​的引數。
  • 面板會針對對應的「啟動服務」欄位傳回的值數重複執行。

實施

Pet ID文字方塊上建立規則以叫用getPetById服務。 在​ 新增成功處理常式 ​中,新增另一個成功處理常式回應。 在規則中將categoryname文字方塊的值設定為category.name

NOTE
請參閱新增成功處理常式與失敗處理常式區段,瞭解如何設定成功和失敗處理常式。

建立可重複面板的規則

輸出

101文字方塊中輸入Pet ID,以根據輸入值動態填入面板。

輸出

使用案例4:使用叫用服務的輸出引數來驗證其他欄位

此使用案例示範如何使用​ 叫用服務 ​的輸出來動態驗證其他表單欄位。

實施

Pet ID文字方塊上建立規則以叫用getPetById服務。 在​ 新增失敗處理常式 ​中,新增失敗處理常式回應。 如果輸入的​ 不正確,請隱藏 ​提交Pet ID按鈕。

失敗處理常式

輸出

102文字方塊中輸入Pet ID,並隱藏​ 提交 ​按鈕。

輸出

使用案例5:在導覽至叫用服務動作中使用事件裝載

此使用案例示範如何在​ 提交 ​按鈕上設定規則,該按鈕會呼叫​叫用服務,然後使用​ 瀏覽至 ​動作將使用者重新導向至其他頁面。

實施

在​ 提交 ​按鈕上建立規則以叫用redirect-api API服務。 此服務負責將使用者重新導向至​ 聯絡我們 ​表單。

您可以使用下列提供的JSON資料,將API當作redirect-api API服務直接整合到規則編輯器中:

{
  "id": "1",
  "path": "/content/dam/formsanddocuments/contact-detail/jcr:content?wcmmode=disabled"
}
NOTE
若要瞭解如何直接在規則編輯器介面中整合API,按一下這裡,而不使用預先定義的表單資料模型。

在​ 新增成功處理常式 ​中,設定​ 瀏覽至 ​動作,以使用​ 引數將使用者重新導向至 ​聯絡我們Event Payload頁面。 在這裡,使用者可以提交他們的聯絡詳細資訊。

事件承載

或者,設定失敗處理常式,在服務呼叫失敗時顯示錯誤訊息。

輸出

按一下​ Submit ​按鈕時,就會叫用redirect-api API服務。 成功後,會將使用者重新導向至​ 聯絡我們 ​頁面。

事件裝載輸出

常見問題

問:如果我使用Invoke Service建立規則,然後升級至核心元件的最新版本,會發生什麼事?

A:​當您升級至最新版本的核心元件時,叫用服務​規則會自動更新至最新的使用者介面,因為它可回溯相容。

問:我可以新增多個規則來處理Invoke Service作業的成功或失敗回應嗎?

A:​是,您可以新增多個規則來處理​ 啟動服務 ​作業的成功或失敗回應。

相關的文章

其他資源

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab