Listagem de formulários em uma página da Web usando APIs :headding-anchor:listing-forms-on-a-web-page-using-apis

O AEM Forms fornece uma API de pesquisa baseada em REST que os desenvolvedores da Web podem usar para consultar e recuperar um conjunto de formulários que atenda aos critérios de pesquisa. Você pode usar APIs para pesquisar formulários com base em vários filtros. O objeto de resposta contém atributos de formulário, propriedades e pontos de extremidade de renderização de formulários.

Para pesquisar formulários usando a API REST, envie uma solicitação GET ao servidor em https://'[server]:[port]'/libs/fd/fm/content/manage.json com os parâmetros de consulta descritos abaixo.

Parâmetros de consulta :headding-anchor:query-parameters

Nome do atributo
Descrição
func

Especifica a função a ser chamada. Para pesquisar formulários, defina o valor do atributo func como searchForms.

Por exemplo,

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

Observação: Este parâmetro é obrigatório.

appPath

Especifica o caminho do aplicativo para procurar formulários. Por padrão, o atributo appPath pesquisa todos os aplicativos disponíveis no nível do nó raiz.

Você pode especificar vários caminhos de aplicativos em uma única consulta de pesquisa. Separe vários caminhos com o caractere de barra vertical (|).

cutPoints

Especifica as propriedades a serem buscadas com os ativos. Você pode usar um asterisco (*) para buscar todas as propriedades de uma só vez. Use o operador de barra vertical (|) para especificar várias propriedades.

Por exemplo, cutPoints=propertyName1|propertyName2|propertyName3

Nota:

  • Propriedades como id, caminho e nome são sempre buscadas.
  • Cada ativo tem um conjunto diferente de propriedades. Propriedades como formUrl, pdfUrl e guideUrl não dependem do atributo de pontos de corte. Essas propriedades dependem do tipo de ativo e são buscadas de acordo.
relação

Especifica os ativos relacionados a serem buscados junto com os resultados da pesquisa. Você pode escolher uma das seguintes opções para buscar ativos relacionados:

  • NO_RELATION: não buscar ativos relacionados.
  • IMEDIATO: busca ativos diretamente relacionados aos resultados da pesquisa.
  • TODOS: buscar ativos relacionados direta e indiretamente.
maxSize
Especifica o número máximo de formulários a serem obtidos.
offset
Especifica o número de formulários a ignorar desde o início.
returnCount
Especifica se os resultados da pesquisa que correspondem aos critérios fornecidos devem ou não ser retornados.
instruções

Especifica a lista de instruções. As consultas são executadas na lista de instruções especificadas no formato JSON.

Por exemplo,

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

No exemplo acima,

  • name: especifica o nome da propriedade a ser pesquisada.

  • value: especifica o valor da propriedade a ser pesquisada.

  • operator: especifica o operador a ser aplicado durante a pesquisa. Os seguintes operadores são compatíveis:

    • EQ - Igual a
    • NEQ - Diferente de
    • GT - Maior que
    • LT - Menor que
    • GTEQ - Maior que ou igual a
    • LTEQ - Menor que ou igual a
    • CONTÉM - A contém B se B é parte de A
    • FULLTEXT - Pesquisa de texto completo
    • STARTSWITH - A começa com B se B for a parte inicial de A
    • ENDSWITH - A termina com B se B for a parte final de A
    • LIKE - Implementa o operador LIKE
    • AND - Combinar vários demonstrativos

    Observação: Os operadores GT, LT, GTEQ e LTEQ se aplicam às propriedades do tipo linear, como LONG, DOUBLE e DATE.

pedidos

Especifica os critérios de ordem para os resultados da pesquisa. Os critérios são definidos no formato JSON. Você pode classificar os resultados da pesquisa em mais de um campo. Os resultados são classificados na ordem à medida que os campos aparecem na query.

Por exemplo,

Para recuperar os resultados da consulta ordenados pela propriedade do título na ordem crescente, adicione o seguinte parâmetro:

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

  • nome: especifica o nome da propriedade a ser usada para ordenar os resultados da pesquisa.

  • critérios: especifica a ordem dos resultados. O atributo order aceita os seguintes valores:

    • ASC - Use ASC para organizar os resultados na ordem crescente.
    • DES - Use DES para organizar os resultados na ordem decrescente.
includeXdp
Especifica se o conteúdo binário deve ser recuperado ou não. O atributo includeXdp é aplicável a ativos do tipo FORM, PDFFORM e PRINTFORM.
assetType
Especifica os tipos de ativos a serem recuperados de todos os ativos publicados. Use o operador de barra vertical (|) para especificar vários tipos de ativos. Os tipos de ativos válidos são FORM, PDFFORM, PRINTFORM, RESOURCE e GUIDE.

Exemplo de solicitação :headding-anchor: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"}]

Exemplo de resposta :headding-anchor: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}
]

Artigos relacionados

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