REST エンドポイントへの送信アクションのアダプティブフォームを設定する

REST エンドポイントへの送信 ​アクションを使用して、送信されたデータを REST URL に POST できます。URL は、内部(フォームがレンダリングされるサーバー)または外部サーバーのどちらのものでも使用できます。

AEM as a Cloud Service では、フォーム送信を処理するための様々な送信アクションが標準で提供されます。これらのオプションについて詳しくは、アダプティブフォーム送信アクションの記事をご覧ください。

メリット

アダプティブフォームの REST エンドポイントへの送信 ​の送信アクションを設定するメリットは次のとおりです。

  • RESTful API を通じて、フォームデータと外部システムおよびサービスをシームレスに統合できます。
  • アダプティブフォームからのデータ送信を柔軟に処理し、動的で複雑なデータ構造をサポートできます。
  • REST エンドポイント URL のパラメーターへのフォームフィールドの動的マッピングをサポートし、適応可能でカスタマイズ可能なデータ送信を行うことができます。

REST エンドポイントへの送信の送信アクションを設定する steps-to-configure-submit-to-restendpoint-submit-action

送信アクションを設定するには:

  1. コンテンツブラウザーを開き、アダプティブフォームの​ ガイドコンテナ ​コンポーネントを選択します。

  2. ガイドコンテナプロパティ ガイドプロパティ アイコンをクリックします。アダプティブフォームコンテナダイアログボックスが開きます。

  3. 送信」タブをクリックします。

  4. 送信アクション ​ドロップダウンリストから、「REST エンドポイントへの送信」を選択します。
    REST エンドポイントへの送信のアクション設定

    内部サーバーにデータを POST 送信するには、リソースのパスを指定します。データは、リソースのパスに POST されます。例えば、/content/restEndPoint のようになります。このような POST リクエストには、送信リクエストの認証情報が使用されます。

    外部サーバーにデータを 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 フィールドからコピーされた値を持つパラメーターとして、次のアクションに向けて渡されます。

    REST エンドポイント送信アクションの設定

    POST リクエストを有効にする ​ことで、リクエストを POST する URL を指定することもできます。フォームをホストする AEM サーバーにデータを送信するには、AEM サーバーのルートパスに対応する相対パスを使用します。例えば、/content/forms/af/SampleForm.html のようになります。他のサーバーにデータを送信するには、絶対パスを使用します。

  5. 完了」をクリックします。

ベストプラクティス

  • 外部サーバーにデータを POST する場合は、URL がセキュリティで保護されていることを確認し、POST リクエストを匿名で処理して機密情報を保護するパスを設定します。
  • フィールドを REST URL 内のパラメーターとして渡すには、すべてのフィールドが異なる要素名を持っている必要があります。これは、異なるパネルに置かれているフィールドにも適用されます。

関連記事

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