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

CAUTION
AEM 6.4 hat das Ende der erweiterten Unterstützung erreicht und diese Dokumentation wird nicht mehr aktualisiert. Weitere Informationen finden Sie in unserer technische Unterstützung. Unterstützte Versionen suchen here.

AEM Forms bietet eine REST-basierte Such-API, mit der Webentwickler Formularsätze abfragen und abrufen können, die die Suchkriterien erfüllen. Sie können APIs verwenden, um Formulare basierend auf verschiedenen Filtern zu suchen. Das Antwortobjekt enthält Formularattribute, 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 aufzurufende Funktion 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 Attribut appPath alle Anwendungen, die auf der Ebene des Stammknotens verfügbar sind.

Sie können in einer einzelnen Suchabfrage mehrere Anwendungspfade angeben. Trennen Sie mehrere Pfade durch einen senkrechten Strich (|).

cutPoints

Gibt die Eigenschaften an, die mit den Assets 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 zusammen mit den Suchergebnissen abgerufen werden sollen. Sie können eine der folgenden Optionen auswählen, um zugehörige Assets abzurufen:

  • NO_RELATION: Zugehörige Assets nicht abrufen.
  • SOFORT: Ruft Assets ab, die sich direkt auf Suchergebnisse beziehen.
  • ALL: Direktes und indirekt verknüpftes Asset abrufen.
maxSize
Gibt die maximale Anzahl von Formularen zum Abrufen an.
offset
Gibt die Anzahl der Formulare an, die ab dem Start übersprungen werden sollen.
returnCount
Gibt an, ob die Suchergebnisse zurückgegeben werden, die den angegebenen Kriterien entsprechen oder nicht.
events

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 folgenden Operatoren werden unterstützt:

    • EQ (equal to – gleich)
    • NEQ - Ungleich
    • GT - Größer als
    • LT - Niedriger als
    • GTEQ - Größer oder gleich
    • LTEQ - Kleiner oder gleich
    • 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 - Implementiert den LIKE-Operator
    • AND - Kombinieren mehrerer Anweisungen

    Hinweis: Die Operatoren GT, LT, GTEQ und LTEQ gelten für Eigenschaften des linearen Typs wie LONG, DOUBLE und DATE.

orderings

Gibt die Bestellkriterien für die Suchergebnisse an. Die Kriterien werden im JSON-Format definiert. Sie können 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.

  • Kriterien: 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 aus allen veröffentlichten Assets abgerufen werden sollen. Verwenden Sie den senkrechten Strich (|), um mehrere Asset-Typen anzugeben. Gültige Asset-Typen sind 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
a6ebf046-2b8b-4543-bd46-42a0d77792da