Show Menu
THEMEN×

Auflisten von Formularen auf einer Webseite mithilfe von APIs

AEM Forms stellt eine REST-basierte Such-API bereit, die Web-Entwickler verwenden können, um Abfragen in Formularsätzen durchzuführen und Formularsätze abzurufen, die die Suchkriterien erfüllen. Sie können APIs zum Durchsuchen von Formularen auf Basis verschiedener Filter verwenden. Das Antwortobjekt enthält Formularattribute, -Eigenschaften und Render-Endpunkte der Formulare.
To search forms using the REST API, send a GET request to the server at https://[server]:[port]/libs/fd/fm/content/manage.json with query parameters described below.

Abfrageparameter

Attributname Beschreibung
func
Gibt die Funktion zum Aufrufen an. Legen Sie zur Suche nach Formularen für den Wert des func -Attributs searchForms fest.
Beispiel: URLParameterBuilder entityBuilder=new URLParameterBuilder (); entityBuilder.add("func", "searchForms");
Hinweis: Dieser Parameter ist obligatorisch.
appPath
Gibt den Anwendungspfad für die Suche nach Formularen an. Standardmäßig durchsucht das appPath-Attribut alle Anwendungen, die auf der Ebene des Stammknotens verfügbar sind.
Sie können bei einer einzelnen Suchabfrage mehrere Anwendungspfade angeben. Trennen Sie mehrere Pfade mit einem senkrechten Strich (|).
cutPoints
Gibt die Eigenschaften an, die mit den Elementen abgerufen werden sollen. Sie können Sternchen (*) verwenden, um alle Eigenschaften gleichzeitig abzurufen. Verwenden Sie den senkrechten Strich (|), um mehrere Eigenschaften anzugeben.
Beispiel: cutPoints=propertyName1|propertyName2|propertyName3
Hinweis :
  • Eigenschaften wie ID, Pfad und Name werden immer abgerufen.
  • Jedes Element verfügt über einen anderen Satz an Eigenschaften. Eigenschaften wie formUrl, pdfUrl und guideUrl hängen nicht vom cutpoints-Attribut ab. Diese Eigenschaften hängen vom Asset-Typ ab und werden entsprechend abgerufen.
relation Gibt die zugehörigen Elemente an, die neben den Suchergebnissen abgerufen werden. Sie können eine der folgenden Optionen auswählen, um zugehörige Elemente abzurufen:
  • NO_RELATION : Zugehörige Elemente nicht abrufen.
  • IMMEDIATE : Es werden Elemente abgerufen, die direkt mit den Suchergebnissen zusammenhängen.
  • ALL : Rufen Sie direkt und indirekt zugehörige Elemente ab.
maxSize Gibt die maximale Anzahl an Formularen zum Abrufen an.
offset Gibt die Anzahl an Formularen an, die ab dem Start übersprungen werden können.
returnCount Gibt an, ob die Suchergebnisse, die den angegebenen Kriterien entsprechen, zurückgegeben werden sollen.
statements
Gibt die Liste der Anweisungen an. Die Abfragen werden in der Liste der Anweisungen ausgeführt, die im JSON-Format angegeben sind.
Beispiel:
JSONArray statementArray=new JSONArray(); JSONObject statement=new JSONObject(); statement.put("name", "title"); statement.put("value", "SimpleSurveyAF"); statement.put("operator", "EQ"); statementArray.put(statement);
Im obigen Beispiel
  • name : gibt den Namen der Eigenschaft an, nach der gesucht werden soll.
  • value : gibt den Wert der Eigenschaft an, nach der gesucht werden soll.
  • operator : gibt den Operator an, der bei der Suche angewendet werden soll. Die folgende Operatoren werden unterstützt:
    • EQ - Gleich
    • NEQ (not equal to – ungleich)
    • GT (greater than – größer als)
    • LT (less than – kleiner als)
    • GTEQ (greater than or equal to – größer oder gleich)
    • LTEQ (less than or equal to – kleiner oder gleich)
    • CONTAINS (ENTHÄLT – A enthält B, wenn B Teil von A ist)
    • FULLTEXT (Volltextsuche)
    • STARTSWITH (BEGINNT MIT – A beginnt mit B, wenn B der Anfangsteil von A ist)
    • ENDSWITH (ENDET MIT – A endet mit B, wenn B der Endteil von A ist)
    • LIKE (WIE – der LIKE-Operator wird implementiert)
    • AND (UND – kombinieren Sie mehrere Anweisungen)
    Hinweis: Die Operatoren GT, LT, GTEQ und LTEQ gelten für Eigenschaften des linearen Typs wie LONG, DOUBLE und DATE.
orderings
Gibt die Kriterien für die Reihenfolge der Suchergebnisse an. Die Kriterien sind im JSON-Format definiert. Sie können die Suchergebnisse auf mehr als einem Feld sortieren. Die Ergebnisse werden in der Reihenfolge sortiert, in der die Felder in der Abfrage angezeigt werden.
Beispiel:
Um die Abfrageergebnisse nach Titeleigenschaft in aufsteigender Reihenfolge abzurufen, fügen Sie den folgenden Parameter hinzu:
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 : Gibt den Namen der Eigenschaft an, die zum Sortieren der Suchergebnisse verwendet werden soll.
  • criteria : Gibt die Reihenfolge der Ergebnisse an. Das order-Attribut akzeptiert folgende Werte:
    • ASC – verwenden Sie ASC, um die Ergebnisse in aufsteigender Reihenfolge anzuordnen.
    • DES - Verwenden Sie DES, um die Ergebnisse in absteigender Reihenfolge anzuordnen.
includeXdp Gibt an, ob der binäre Inhalt abgerufen werden soll oder nicht. The includeXdp attribute is applicable for assets of type FORM , PDFFORM , and PRINTFORM .
assetType Gibt die Elementtypen an, die von allen veröffentlichten Elementen abgerufen werden sollen. Verwenden Sie den senkrechten Strich (|), um mehrere Elementtypen anzugeben. Die folgenden Elementtypen sind gültig: FORM, PDFFORM, PRINTFORM, RESOURCE und GUIDE.

Musteranforderung

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

Musterantwort

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