Formulieren op een webpagina weergeven met API's

AEM Forms biedt een REST-API voor zoekopdrachten die webontwikkelaars kunnen gebruiken om een set formulieren op te vragen en op te halen die aan de zoekcriteria voldoet. U kunt API's gebruiken om formulieren te zoeken op basis van verschillende filters. Het reactieobject bevat formulierkenmerken, eigenschappen en renderpunten van formulieren.

Als u formulieren wilt zoeken met de REST API, stuurt u een verzoek van de GET naar de server op https://[server]:[port]/libs/fd/fm/content/manage.json met de hieronder beschreven queryparameters.

Query-parameters

Kenmerknaam
Beschrijving
func

Geeft de aan te roepen functie op. Als u formulieren wilt zoeken, stelt u de waarde van het func kenmerk in op searchForms.

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

Opmerking: deze parameter is verplicht.

appPath

Hier geeft u het toepassingspad op dat u wilt gebruiken om formulieren te zoeken. Standaard zoekt het kenmerk appPath alle toepassingen die beschikbaar zijn op het niveau van de hoofdnode.

U kunt meerdere toepassingspaden opgeven in één zoekquery. Scheid meerdere paden van elkaar met verticale streep (|).

cutPoints

Geeft de eigenschappen aan die met de elementen moeten worden opgehaald. U kunt sterretje (*) gebruiken om alle eigenschappen tegelijk op te halen. Gebruik de verticale operator (|) om meerdere eigenschappen op te geven.

Bijvoorbeeld, cutPoints=propertyName1|propertyName2|propertyName3

Opmerking:

  • Eigenschappen zoals id, path en name worden altijd opgehaald.
  • Elk element heeft een andere set eigenschappen. Eigenschappen zoals formUrl, pdfUrl en guideUrl zijn niet afhankelijk van het kenmerk cutpoints. Deze eigenschappen zijn afhankelijk van het type element en worden dienovereenkomstig opgehaald.
relation
Hiermee geeft u de verwante elementen op die samen met de zoekresultaten moeten worden opgehaald. U kunt een van de volgende opties kiezen om gerelateerde elementen op te halen:
  • NO_RELATION: Verwante elementen niet ophalen.
  • ONMIDDELLIJK: Hiermee zoekt u elementen die rechtstreeks gerelateerd zijn aan zoekresultaten.
  • ALLES: Rechtstreeks en indirect verband houdende activa ophalen.
maxSize Hiermee geeft u het maximum aantal formulieren op dat moet worden opgehaald.
offset Hier geeft u het aantal formulieren op dat u vanaf het begin wilt overslaan.
returnCount Geeft aan of de zoekresultaten die aan de opgegeven criteria voldoen, moeten worden geretourneerd.
instructies

Hier geeft u de lijst met instructies op. De query's worden uitgevoerd in de lijst met instructies die in de JSON-indeling zijn opgegeven.

Bijvoorbeeld,

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

In het bovenstaande voorbeeld:

  • naam: Hiermee wordt de naam opgegeven van de eigenschap waarnaar moet worden gezocht.
  • waarde: geeft de waarde aan van de eigenschap waarnaar moet worden gezocht.
  • operator: geeft de operator aan die moet worden toegepast tijdens het zoeken. De volgende operatoren worden ondersteund:
    • EQ - Gelijk aan
    • NEQ - niet gelijk aan
    • GT - Groter dan
    • LT - Minder dan
    • GTEQ - Groter dan of gelijk aan
    • LTEQ - kleiner dan of gelijk aan
    • BEVAT - A bevat B als B deel uitmaakt van A
    • FULLTEXT - Volledige tekstzoekopdracht
    • STARTSWITH - A begint met B als B het eerste deel van A is
    • ENDSWITH - A eindigt met B als B het einddeel van A is
    • LIKE - Implementeert de operator LIKE
    • AND - Meerdere instructies combineren

    Opmerking: GT-, LT-, GTEQ- en LTEQ-operatoren zijn van toepassing op eigenschappen van lineair type, zoals LONG, DUBBEL en DATE.

orders

Hiermee geeft u de volgordecriteria voor de zoekresultaten op. De criteria worden gedefinieerd in de JSON-indeling. U kunt zoekresultaten sorteren op meerdere velden. De resultaten worden gesorteerd in de volgorde waarin de velden in de query worden weergegeven.

Bijvoorbeeld,

Voeg de volgende parameter toe om queryresultaten op te halen die zijn geordend door eigenschap title in oplopende volgorde:

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

  • naam: Hiermee geeft u de naam op van de eigenschap die moet worden gebruikt om de zoekresultaten te ordenen.
  • criteria: Hiermee geeft u de volgorde van de resultaten op. Het kenmerk order accepteert de volgende waarden:
    • ASC - Gebruik ASC om de resultaten in oplopende volgorde te rangschikken.
    • DES - Gebruik DES om resultaten in dalende orde te rangschikken.
includeXdp Geeft aan of de binaire inhoud moet worden opgehaald. Het kenmerk includeXdp is van toepassing op elementen van het type FORM, PDFFORM en PRINTFORM.
assetType Geeft de elementtypen aan die moeten worden opgehaald van alle gepubliceerde elementen. Gebruik de verticale operator (|) om meerdere elementtypen op te geven. Geldige elementtypen zijn FORM, PDFFORM, PRINTFORM, RESOURCE en GUIDE.

Voorbeeldverzoek

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

Monsterreactie

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

Verwante artikelen

Op deze pagina