API を使用した Web ページ上のフォームの一覧表示

AEM Forms では REST ベースの検索 API を備えており、これにより Web 開発者はクエリーを実行し、検索条件に合う一連のフォームを取得できます。API を使用することで、様々なフィルターに基づいてフォームを検索できます。応答オブジェクトには、フォームの属性、プロパティ、フォームのレンダリングエンドポイントなどがあります。

REST APIを使用してフォームを検索するには、GETリクエストをhttps://'[server]:[port]'/libs/fd/fm/content/manage.jsonのサーバーに送信し、以下に説明するクエリパラメーターを指定します。

クエリーパラメーター

属性名
説明
func

呼び出す関数を指定します。フォームを検索するには、func 属性の値を searchForms に設定します。

例: URLParameterBuilder entityBuilder=new URLParameterBuilder (); entityBuilder.add("func", "searchForms");

注意:このパラメーターは必須です。

appPath

フォームを検索するアプリケーションパスを指定します。デフォルトでは、appPath 属性はルートノードレベルで使用可能なすべてのアプリケーションを検索します。

1 つの検索クエリーで複数のアプリケーションパスを指定できます。複数のパスを区切る場合はパイプ(|)文字を使用します。

cutPoints

アセットと一緒に取得するプロパティを指定します。アスタリスク(*)を使用するとすべてのプロパティを一度に取得できます。複数のプロパティを指定する場合はパイプ(|)演算子を使用します。

例: cutPoints=propertyName1|propertyName2|propertyName3

注意

  • ID、パス、名前などのプロパティは、常に取得されます。
  • アセットごとにプロパティのセットが異なります。formUrl、pdfUrl、guideUrl などのプロパティは cutPoints 属性に依存しません。これらのプロパティはアセットタイプに依存し、アセットタイプに応じて取得されます。
relation
検索結果とともに取得する関連アセットを指定します。以下のオプションからいずれか 1 つを選択して、関連アセットを取得できます。
  • NO_RELATION:関連アセットを取得しません。
  • IMMEDIATE:検索結果に直接関連するアセットを取得します。
  • ALL:直接関連するアセットと間接的に関連するアセットを取得します。
maxSize 取得するフォームの最大数を指定します。
offset 開始からスキップするフォームの数を指定します。
returnCount 指定した条件に一致する検索結果を返すかどうかを指定します。
statements

文のリストを指定します。クエリーは、JSON 形式で指定した文のリストに対して実行されます。

例:

JSONArray statementArray=new JSONArray(); JSONObject statement=new JSONObject(); statement.put("name", "title"); statement.put("value", "SimpleSurveyAF"); statement.put("operator", "EQ"); statementArray.put(statement);

上記の例では、

  • name:検索するプロパティの名前を指定します。
  • value:検索するプロパティの値を指定します。
  • operator:検索時に適用する演算子を指定します。次の演算子がサポートされています。
    • EQ — 次と等しい
    • NEQ - 次と等しくない
    • GT - 次の値より大きい
    • LT - 次の値より小さい
    • GTEQ - 次の値よりも大きいか等しい
    • LTEQ - 次の値よりも小さいか等しい
    • CONTAINS - B が A の一部である場合、A に B が含まれる
    • FULLTEXT - フルテキスト検索
    • STARTSWITH - B が A の最初の部分である場合、A は B で始まる
    • ENDSWITH - B が A の最後の部分である場合、A は B で終わる
    • LIKE - LIKE 演算子を実装する
    • AND - 複数の文を組み合わせる

    注意:GT、LT、GTEQ、LTEQ 演算子は、LONG、DOUBLE、DATE などの線形型のプロパティに適用されます。

orderings

検索結果の順序条件を指定します。条件は JSON 形式で定義されます。複数のフィールドの検索結果を並べ替えることができます。検索結果は、フィールドがクエリー内で表示されている順番のとおりに並べ替えられています。

例:

タイトルプロパティで昇順に並べ替えられたクエリ結果を取得するには、次のパラメーターを追加します。

JSONArray orderingsArray=new JSONArray(); JSONObject orderings=new JSONObject(); orderings.put("name", "title"); orderings.put("criteria", "ASC"); orderingsArray.put(orderings); entityBuilder.add("orderings", orderingsArray.toString());

  • name:検索結果の並べ替えに使用するプロパティの名前を指定します。
  • criteria:結果の順序を指定します。順序属性には次の値を指定できます。
    • ASC - ASC を使用すると、結果を昇順に並べ替えます。
    • DES - DESを使用して、結果を降順に並べ替えます。
includeXdp バイナリコンテンツを取得するかどうかを指定します。includeXdp属性は、FORMPDFFORMPRINTFORMのアセットに適用されます。
assetType 発行されたすべてのアセットから取得するアセットのタイプを指定します。複数のアセットタイプを指定するには、パイプ(|)演算子を使用します。有効なアセットタイプは FORM、PDFFORM、PRINTFORM、RESOURCE、GUIDE です。

サンプルリクエスト

func : searchForms
appPath : /content/dam/formsanddocuments/MyApplication23
cutPoints : title|description|author|status|creationDate|lastModifiedDate|activationDate|expiryDate|tags|allowedRenderFormat|formmodel
relation : NO_RELATION
includeXdp : false
maxSize : 10
offset : 0
returnCount : true
statements: [{"name":"name","value":"*Claim.xdp","operator":"CONTAINS"},
                {"name":"","value":"Expense","operator":"FULLTEXT"},
                {"name":"description","value":"ABCD*","operator":"CONTAINS"},
                {"name":"status","value":"false","operator":"EQ"},
                {"name":"lastModifiedDate","value":"01/09/2013","operator":"GTEQ"},
                {"name":"lastModifiedDate","value":"01/18/2013","operator":"LTEQ"}]
orderings:[{"name" :“lastModifiedDate“:”order”:”ASC”}]

サンプル応答

[
{"resultCount":2},
    {"assetType":"FORM","name":"ExpenseClaim.xdp","id":"509fa2d5-e3c9-407b-b8dc-fa0ba08eb0ce",
       "path":"/content/dam/formsanddocuments/MyApplication23/1.0/ExpenseClaim.xdp",
       "title":"Expense Report","description":"ABCDEFGIJK","author":"Frank Bowman",
       "tags":[],"formUrl":"/content/dam/formsanddocuments/MyApplication23/1.0/ExpenseClaim.xdp/jcr:content",
       "pdfUrl":"/content/dam/formsanddocuments/MyApplication23/1.0/ExpenseClaim.xdp/jcr:content?type=pdf",
       "references":[],"images":[{"assetType":"resource","name":"Image.gif","id":"5477a127-8bbf-4cec-8f81-2689e5cb4a15",
       "path":"/content/dam/formsanddocuments/MyApplication23/1.0/Image.gif","resourceSize":0}],
       "status":false,"creationDate":1358429845623,"lastModifiedDate":1358429846771},
{"assetType":"FORM","name":"ExpenseClaim.xdp","id":"4312239b-b666-4d36-95bc-641b3a39ddd4",
       "path":"/content/dam/formsanddocuments/MyApplication23/ExpenseClaim.xdp",
       "title":"Expense Report","description":"ABCDefghijklm","author":"Frank Bowman",
       "tags":[],"formUrl":"/content/dam/formsanddocuments/MyApplication23/ExpenseClaim.xdp/jcr:content",
       "pdfUrl":"/content/dam/formsanddocuments/MyApplication23/ExpenseClaim.xdp/jcr:content?type=pdf",
       "references":[],"images":[{"assetType":"resource","name":"Image.gif","id":"118a2e3f-7097-4d8c-85d1-651306de284a",
       "path":"/content/dam/formsanddocuments/MyApplication23/Image.gif","resourceSize":0}],"status":false,
       "creationDate":1358429856690,"lastModifiedDate":1358430109023}
]

関連記事

このページ

Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now