Auflisten von Formularen auf einer Webseite mithilfe von APIs listing-forms-on-a-web-page-using-apis

AEM Forms stellt eine REST-basierte Such-API bereit, die Web-Entwicklerinnen und -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 sowie Eigenschaften und Render-Endpunkte der Formulare.

Um Formulare mit der REST API zu suchen, senden Sie an den Server unter https://'[server]:[port]'/libs/fd/fm/content/manage.json eine GET-Anfrage mit den unten beschriebenen Abfrageparametern.

Abfrageparameter query-parameters

Attributname
Beschreibung
func

Gibt die Funktion zum Aufrufen an.  Legen Sie zur Suche nach Formularen den Wert des func -Attributs auf 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 durch einen 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 Asset verfügt über einen anderen Satz an Eigenschaften. Eigenschaften wie formUrl, pdfUrl und guideUrl hängen nicht vom cutpoints-Attribut ab. Diese Eigenschaften sind vom Asset-Typ abhängig und werden entsprechend abgerufen.
relation

Gibt die zugehörigen Assets an, die neben den Suchergebnissen abgerufen werden.  Sie können eine der folgenden Optionen auswählen, um zugehörige Assets abzurufen:

  • NO_RELATION: Zugehörige Assets nicht abrufen.
  • IMMEDIATE: Assets abrufen, die direkt mit den Suchergebnissen zusammenhängen.
  • ALL: Direkt und indirekt zugehörige Assets abrufen.
maxSize
Gibt die maximale Anzahl an Formularen zum Abrufen an.
offset
Gibt die Anzahl an Formularen an, die ab dem Start übersprungen werden sollen.
returnCount
Gibt an, ob die Suchergebnisse zurückgegeben werden, die den angegebenen Kriterien entsprechen oder nicht.
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 oben genannten Beispiel gilt Folgendes:

  • 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 (equal to – 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 – implementiert den LIKE-Operator)
    • AND (UND – kombiniert mehrere Anweisungen)

    Hinweis: Die Operatoren GT, LT, GTEQ und LTEQ gelten für Eigenschaften vom linearen Typ 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 nach 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 Sortierattribut akzeptiert die folgenden 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. Das Attribut includeXdp gilt für Assets vom Typ FORM, PDFFORM und PRINTFORM.
assetType
Gibt die Asset-Typen an, die von allen veröffentlichten Assets abgerufen werden sollen. Verwenden Sie den senkrechten Strich (|), um mehrere Asset-Typen anzugeben. Die folgenden Asset-Typen sind gültig: FORM, PDFFORM, PRINTFORM, RESOURCE und GUIDE.

Beispielanfrage 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"}]

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

Verwandte Artikel

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2