REST エンドポイントへの送信アクションのアダプティブフォームの設定
設定を使用して REST エンドポイントを指定する機能は早期導入プログラムであり、コアコンポーネントと Edge Delivery Services Forms にのみ適用できます。公式メール ID から aem-forms-ea@adobe.com
に送信して早期導入プログラムに参加し、機能へのアクセスをリクエストできます。
REST エンドポイントへの送信 アクションを使用して、送信されたデータを REST URL に POST できます。URL は、内部(フォームがレンダリングされるサーバー)または外部サーバーのどちらのものでも使用できます。
AEM as a Cloud Service では、フォーム送信を処理するための様々な送信アクションが標準で提供されます。これらのオプションについて詳しくは、アダプティブフォーム送信アクションの記事をご覧ください。
メリット
アダプティブフォームの REST エンドポイントへの送信 の送信アクションを設定するメリットは次のとおりです。
- RESTful API を通じて、フォームデータと外部システムおよびサービスをシームレスに統合できます。
- アダプティブフォームからのデータ送信を柔軟に処理し、動的で複雑なデータ構造をサポートできます。
- REST エンドポイント URL のパラメーターへのフォームフィールドの動的マッピングをサポートし、適応可能でカスタマイズ可能なデータ送信を行うことができます。
REST エンドポイントへの送信の送信アクションを設定する steps-to-configure-submit-to-restendpoint-submit-action
基盤コンポーネントに基づくアダプティブフォームの Swagger Open API 仕様に基づいて送信アクションを設定するには:
-
編集用にアダプティブフォームを開き、アダプティブフォームのコンテナプロパティの「送信」セクションに移動します。
-
送信アクション ドロップダウンリストから、「REST エンドポイントへの送信」を選択します。
内部サーバーにデータを POST 送信するには、リソースのパスを指定します。データは、リソースのパスに POST されます。例えば、
/content/restEndPoint
のようになります。このような POST リクエストには、送信リクエストの認証情報が使用されます。このオプションを使用すると、ターゲット REST エンドポイントを直接入力できます。
外部サーバーにデータを POST 送信するには、URL を指定します。URL の形式は、https://host:port/path_to_rest_end_point
です。POST リクエストを匿名で処理するためのパスを設定してください。
上の例で、ユーザーが
textbox
に入力した情報は、パラメーターparam1
を使用して取得されます。param1
を使用して取得されるデータを POST するための構文を以下に示します。String data=request.getParameter("param1");
同様に、XML データと添付ファイルの POST に使用するパラメーターは、
dataXml
およびattachments
です。例えば、この 2 つのパラメーターをスクリプト中で使用して、REST エンドポイントに送信されたデータを解析できます。データを格納および解析するための構文を以下に示します。
String data=request.getParameter("dataXml");
String att=request.getParameter("attachments");
この例では、
data
が XML データを格納し、att
が添付ファイルデータを格納します。
REST エンドポイントへの送信 送信アクションでは、フォームに入力されたデータを HTTP GET リクエストの一部として設定済みの確認ページに送信します。リクエストにフィールド名を追加できます。リクエストのフォーマットを以下に示します。{fieldName}={request parameter name}
以下の画像に示されているように、
param1
およびparam2
が、textbox フィールドおよび numericbox フィールドからコピーされた値を持つパラメーターとして、次のアクションに向けて渡されます。POST リクエストを有効にする ことで、リクエストを POST する URL を指定することもできます。フォームをホストする AEM サーバーにデータを送信するには、AEM サーバーのルートパスに対応する相対パスを使用します。例えば、
/content/forms/af/SampleForm.html
のようになります。他のサーバーにデータを送信するには、絶対パスを使用します。 -
「完了」をクリックします。
コアコンポーネントに基づくアダプティブフォームの Swagger Open API 仕様に基づいて送信アクションを設定するには:
-
コンテンツブラウザーを開き、アダプティブフォームの ガイドコンテナ コンポーネントを選択します。
-
ガイドコンテナプロパティ
-
「送信」タブをクリックします。
-
送信アクション ドロップダウンリストから、「REST エンドポイントへの送信」を選択します。
内部サーバーにデータを POST 送信するには、リソースのパスを指定します。データは、リソースのパスに POST されます。例えば、
/content/restEndPoint
のようになります。このような POST リクエストには、送信リクエストの認証情報が使用されます。REST エンドポイントを指定するには、次の 2 つのオプションがあります。
accordion URL このオプションを使用すると、ターゲット REST エンドポイントを直接入力できます。
外部サーバーにデータを POST 送信するには、URL を指定します。URL の形式は、https://host:port/path_to_rest_end_point
です。POST リクエストを匿名で処理するためのパスを設定してください。
上の例で、ユーザーが textbox
に入力した情報は、パラメーター param1
を使用して取得されます。param1
を使用して取得されるデータを POST するための構文を以下に示します。
String data=request.getParameter("param1");
同様に、XML データと添付ファイルの POST に使用するパラメーターは、dataXml
および attachments
です。
例えば、この 2 つのパラメーターをスクリプト中で使用して、REST エンドポイントに送信されたデータを解析できます。データを格納および解析するための構文を以下に示します。
String data=request.getParameter("dataXml");
String att=request.getParameter("attachments");
この例では、data
が XML データを格納し、att
が添付ファイルデータを格納します。
REST エンドポイントへの送信 送信アクションでは、フォームに入力されたデータを HTTP GET リクエストの一部として設定済みの確認ページに送信します。リクエストにフィールド名を追加できます。リクエストのフォーマットを以下に示します。
{fieldName}={request parameter name}
以下の画像に示されているように、param1
および param2
が、textbox フィールドおよび numericbox フィールドからコピーされた値を持つパラメーターとして、次のアクションに向けて渡されます。
POST リクエストを有効にする ことで、リクエストを POST する URL を指定することもできます。フォームをホストする AEM サーバーにデータを送信するには、AEM サーバーのルートパスに対応する相対パスを使用します。例えば、/content/forms/af/SampleForm.html
のようになります。他のサーバーにデータを送信するには、絶対パスを使用します。
+++
accordion |
---|
設定 |
このオプションを使用すると、AEM の設定ブラウザー経由で管理される事前定義済みの HTTP 設定を追加できます。サービス REST エンドポイント認証タイプおよびコンテンツタイプ用に作成した設定を選択できます。認証タイプとコンテンツタイプについて詳しくは、データソースの設定を参照してください。 |
- 「完了」をクリックします。
ユニバーサルエディターでオーサリングされたアダプティブフォームの Swagger Open API 仕様に基づいて送信アクションを設定するには:
-
アダプティブフォームを編集用に開きます。
-
エディターで フォームプロパティを編集 拡張機能をクリックします。
フォームプロパティ ダイアログが表示されます。note note NOTE - ユニバーサルエディターインターフェイスに フォームプロパティを編集 アイコンが表示されない場合は、Extension Manager で フォームプロパティを編集 拡張機能を有効にします。
- ユニバーサルエディターで拡張機能を有効または無効にする方法については、Extension Manager 機能のハイライトの記事を参照してください。
1. 「**送信**」タブをクリックし、「**REST エンドポイントに送信**」送信アクションを選択します。
内部サーバーにデータを POST 送信するには、リソースのパスを指定します。データは、リソースのパスに POST されます。例えば、
/content/restEndPoint
のようになります。このような POST リクエストには、送信リクエストの認証情報が使用されます。REST エンドポイントを指定するには、次の 2 つのオプションがあります。
accordion URL このオプションを使用すると、ターゲット REST エンドポイントを直接入力できます。
外部サーバーにデータを POST 送信するには、URL を指定します。URL の形式は、https://host:port/path_to_rest_end_point
です。POST リクエストを匿名で処理するためのパスを設定してください。
上の例で、ユーザーが textbox
に入力した情報は、パラメーター param1
を使用して取得されます。param1
を使用して取得されるデータを POST するための構文を以下に示します。
String data=request.getParameter("param1");
同様に、XML データと添付ファイルの POST に使用するパラメーターは、dataXml
および attachments
です。
例えば、この 2 つのパラメーターをスクリプト中で使用して、REST エンドポイントに送信されたデータを解析できます。データを格納および解析するための構文を以下に示します。
String data=request.getParameter("dataXml");
String att=request.getParameter("attachments");
この例では、data
が XML データを格納し、att
が添付ファイルデータを格納します。
REST エンドポイントへの送信 送信アクションでは、フォームに入力されたデータを HTTP GET リクエストの一部として設定済みの確認ページに送信します。リクエストにフィールド名を追加できます。リクエストのフォーマットを以下に示します。
{fieldName}={request parameter name}
以下の画像に示されているように、param1
および param2
が、textbox フィールドおよび numericbox フィールドからコピーされた値を持つパラメーターとして、次のアクションに向けて渡されます。
POST リクエストを有効にする ことで、リクエストを POST する URL を指定することもできます。フォームをホストする AEM サーバーにデータを送信するには、AEM サーバーのルートパスに対応する相対パスを使用します。例えば、/content/forms/af/SampleForm.html
のようになります。他のサーバーにデータを送信するには、絶対パスを使用します。
+++
accordion |
---|
設定 |
このオプションを使用すると、AEM の設定ブラウザー経由で管理される事前定義済みの HTTP 設定を追加できます。サービス REST エンドポイント認証タイプおよびコンテンツタイプ用に作成した設定を選択できます。認証タイプとコンテンツタイプについて詳しくは、データソースの設定を参照してください |
- 「保存して閉じる」をクリックします。
ベストプラクティス
- 外部サーバーにデータを POST する場合は、URL がセキュリティで保護されていることを確認し、POST リクエストを匿名で処理して機密情報を保護するパスを設定します。
- フィールドを REST URL 内のパラメーターとして渡すには、すべてのフィールドが異なる要素名を持っている必要があります。これは、異なるパネルに置かれているフィールドにも適用されます。