Listar formulários em uma página da Web usando APIs

A AEM Forms fornece uma API de pesquisa baseada em REST que os desenvolvedores da Web podem usar para query e recuperação de 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 response contém atributos de formulário, propriedades e pontos finais de formulários.

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

Parâmetros de query

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 pesquisar 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 aplicativo em um único query de pesquisa. Separe vários caminhos com um caractere de barra vertical (|).

cutPoints

Especifica as propriedades a serem buscadas com os ativos. Você pode usar asterisco (*) para buscar todas as propriedades de uma vez. Use o operador pipe (|) 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 cutpoints. Essas propriedades dependem do tipo de ativo e são buscadas de acordo.
relation
Especifica os ativos relacionados a serem obtidos 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: Obtém ativos que estão diretamente relacionados aos resultados da pesquisa.
  • TUDO: Buscar ativos direta e indiretamente relacionados.
maxSize Especifica o número máximo de formulários a serem buscados.
deslocamento Especifica o número de formulários a serem ignorados do start.
returnCount Especifica se os resultados da pesquisa que correspondem aos critérios especificados devem ou não ser retornados.
demonstrativos

Especifica a lista de instruções. Os query são executados na lista das declaraçõ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.
  • valor: especifica o valor da propriedade a ser pesquisada.
  • operador: especifica o operador a ser aplicado durante a pesquisa. Os seguintes operadores são suportados:
    • EQ - Igual a
    • NEQ - Diferente de
    • GT - Maior que
    • LT - Menor que
    • GTEQ - maior que ou igual a
    • LTEQ - menor que ou igual a
    • CONTAINS - A contém B se B faz parte de A
    • FULLTEXT - Pesquisa de texto completo
    • STARTSWITH - A start 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 - Combine várias declarações

    Observação: operadores GT, LT, GTEQ e LTEQ são aplicáveis para propriedades de tipo linear, como LONG, DUPLO e DATE.

pedidos

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

Por exemplo,

Para recuperar os resultados do query ordenados pela propriedade title 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());

  • name: 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 o 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 pipe (|) para especificar vários tipos de ativos. Os tipos de ativos válidos são FORM, PDFFORM, PRINTFORM, RESOURCE e GUIA.

Solicitação de amostra

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

Amostra de resposta

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

Nesta página