API を使用した Web ページ上のフォームの一覧表示 listing-forms-on-a-web-page-using-apis

CAUTION
AEM 6.4 の拡張サポートは終了し、このドキュメントは更新されなくなりました。 詳細は、 技術サポート期間. サポートされているバージョンを見つける ここ.

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

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

クエリパラメーター query-parameters

属性名
説明
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

検索結果と共に取得する関連アセットを指定します。 関連アセットを取得するには、次のいずれかのオプションを選択できます。

  • NO_RELATION:関連アセットを取得しません。
  • 即時:検索結果に直接関連するアセットを取得します。
  • すべて:直接的および間接的に関連するアセットを取得します。
maxSize
取得するフォームの最大数を指定します。
オフセット
開始からスキップするフォームの数を指定します。
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);

上記の例では、次のようにします。

  • 名前:検索するプロパティの名前を指定します。

  • :検索するプロパティの値を指定します。

  • 演算子:検索時に適用する演算子を指定します。 次の演算子がサポートされています。

    • 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());

  • 名前:検索結果の並べ替えに使用するプロパティの名前を指定します。

  • 条件:結果の順序を指定します。 順序属性には次の値を使用できます。

    • ASC - ASC を使用すると、結果を昇順に並べ替えます。
    • DES - DES を使用すると、結果を降順に並べ替えます。
includeXdp
バイナリコンテンツを取得するかどうかを指定します。 includeXdp 属性は、タイプ FORMPDFFORMPRINTFORM のアセットに適用されます。
assetType
すべての公開済みアセットから取得するアセットタイプを指定します。 複数のアセットタイプを指定するには、パイプ (|) 演算子を使用します。 有効なアセットタイプは、FORM、PDFFORM、PRINTFORM、RESOURCE、GUIDE です。

リクエストのサンプル sample-request

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”}]

レスポンスのサンプル sample-response

[
{"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}
]

関連記事

recommendation-more-help
a6ebf046-2b8b-4543-bd46-42a0d77792da