Formulieren met API's op een webpagina weergeven listing-forms-on-a-web-page-using-apis

CAUTION
AEM 6.4 heeft het einde van de uitgebreide ondersteuning bereikt en deze documentatie wordt niet meer bijgewerkt. Raadpleeg voor meer informatie onze technische ondersteuningsperioden. Ondersteunde versies zoeken hier.

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 doorzoeken 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 query-parameters die hieronder worden beschreven.

Parameters query query-parameters

Kenmerknaam
Beschrijving
func

Geeft de aan te roepen functie op. Als u formulieren wilt zoeken, stelt u de waarde in van de optie func kenmerk naar 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.
relatie

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:

  • name: Hiermee wordt de naam opgegeven van de eigenschap waarnaar moet worden gezocht.

  • value: 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: De operatoren GT, LT, GTEQ en LTEQ zijn van toepassing op eigenschappen van lineair type, zoals LONG, DUBBEL en DATE.

bestellingen

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

  • name: 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 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. De includeXdp kenmerk is van toepassing op activa 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 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”}]

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

Verwante artikelen

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