Page tree
Skip to end of metadata
Go to start of metadata

O Cronapp permite disponibilizar serviços REST por Bloco de programação ou Fonte de dados. Veremos a seguir como configurar nos dois caso. 

Pré requisitos

  1. Projeto do tipo mobile ou web criado. Caso haja dúvidas de como criar esse tipo de projeto acesse o link ( Criar novo projeto );
  2. Criar classes no Diagrama, gerar persistência e popular o banco. Para criar classes e gerar persistência acesse o link ( Diagrama ).
    Para esse exemplo vamos criar um agenda simples, utilizando um relacionamento de 1 para N, onde um cliente pode possuir vários telefones. (Figura 1).


Figura 1 - Relacionamento usado nesse exemplo

Passos

Veremos a seguir como configurar o serviço REST via Bloco de programação e Fonte de dados, usaremos a mesma estrutura exibida na figura 1. No final mostraremos como obter esses recursos usando um programa externo ao Cronapp. 

Via Bloco de programação

Crie um bloco de programação do lado Servidor, nesse exemplo nomearemos o bloco para "WebServiceRest" e sua função para "cliente". A função irá receber como parâmetro um identificador do cliente "idC" e retornar os dados telefônicos desse cliente.

Como a função deve só retornar os dados do banco, configuramos a consulta para enviar direto no retorno da função, passando o parâmetro recebido na função que será informada no endereço da requisição. (Figura 2.1)


Dica

Caso tenha dúvidas de como configurar a consulta, acesse a documentação do Assistente de consulta JPQL.


Figura 2.1 - Configurando o bloco de programação e consulta

Configuração

Após finalizar a estrutura da função, clique na engrenagem "Configuração dos tipos de regras" (lado direito/superior) para abrir a janela de "Propriedades do bloco de programação". Nessa janela, os únicos campos que nos interessam estão descritos abaixo. (Figura 2.2)

  • Tempo limite: Limite em segundos para a execução. Após o limite, a ação é finalizada.
  • Tipo: define tipo de permissão para acesso ao bloco, sendo dois tipos:
    • Interno: o bloco só é consumido dentro do projeto;
    • Externo: permite que o bloco seja consumido também fora do projeto;
  • Endereço REST: trecho final do endereço do serviço REST, será concatenado após o domínio do sistema;
  • Segurança: Abre uma outra janela que nos permite dar autorização de CRUD e Execução a diferentes perfis de segurança.

Autorize para "Todos" os campos: "Permitir Executar" e "Permitir Obter" na janela de Segurança. Altere também o campo Tipo para "Externo". (Figura 2.2)

Figura 2.2 - Configuração da chamada REST


Após confirmar todas as janelas e salvar, o Cronapp irá gerar as anotações necessárias e assim que a aplicação estiver em execução a requisição REST estará disponível.

Endereço

Quando o seu sistema estiver em produção e com domínio próprio (ex: https://www.cronapp.io), utilize-o para concatenar com o endereço (URN) do serviço REST apontado no campo Endereço Rest da figura 2.2. Para esse tutorial usaremos o domínio temporário gerado no debug do Cronapp (ex: https://app-19-33-61591.ide.cronapp.io/). 

O trecho do endereço gerado no campo Endereço REST é formado com os seguintes elementos:

/api/cronapi/rest/blockly.<Nome do arquivo com a função>:<nome da Função>[/<Parâmetro 1>[/Parâmetro n]]


Considerando os elementos abaixo:


O endereço Rest completo ficará:

https://app-19-33-61591.ide.cronapp.io/api/cronapi/rest/blockly.WebServiceRest:cliente/1

Via Fonte de dados

Crie uma Fonte de dados seguindo os seguintes passos: acesse Projeto > Fonte de dados no menu do sistema para abrir a janela Buscar Fonte de dados e clique no botão Nova Fonte de dados ao final (Figura 3.1).


Figura 3.1 - Criando nova Fonte de dados

Configuração

Com a janela da Fonte de dados aberta, vamos configurar as informações da fonte de dados, sua consulta ao banco e permissão de acesso.


Dica

Para mais informações, acesse a documentação da fonte de dados.


Figura 3.2 - Configuração das informações da fonte e sua consulta


  1. Identificador: fonte de dados que será usado na URI do serviço REST.
  2. Nome da consulta: nome que será exibido na lista de fonte de dados do projeto.
  3. Entidade: botão de seleção das entidades.
  4. Configura consulta: personaliza a consulta da fonte de dados;
  5. Parâmetros: parâmetros definidos nas regras da consulta;
  6. Endereço REST: trecho final do endereço do serviço REST, será concatenado após o domínio do sistema.


Ao clicar no botão de personalização da consulta (item 4 da figura 3.2), uma janela de personalização da consulta será aberta, configure do mesmo jeito que configuramos na figura 2.1. Após salvar a consulta, um parâmetro será apresentando na lista (item 5 da figura 3.2), não é necessário definir nenhum valor.

Após a configuração da aba Filtro, acesse a aba Permissões e clique nos cadeados dos verbos Permitir Obter, Permitir Filtrar e Permitir Contar para abrir a janela Permissão de Segurança, deixe a opção Todos selecionados em todas as janelas (Figura 3.3).


Figura 3.3 - Configuração das permissões da fonte de dados


Após salvar, execute a aplicação e a requisição REST já estará disponível.

Endereço

Quando o seu sistema estiver em produção e com domínio próprio (ex: https://www.cronapp.io), utilize-o para concatenar com o endereço (URN) do serviço REST apontado no item 6 da figura 3.2. Para esse tutorial usaremos o domínio temporário gerado no debug do Cronapp (ex: https://app-19-33-61591.ide.cronapp.io/). 

O trecho do endereço formado no item 6 é uma query string formado com os seguintes elementos:

api/cronapi/odata/v2/app/<Identificador da fonte>[?<Parâmetro 1>=<Valor do Parâmetro 1>[&<Parâmetro n>=<Valor do Parâmetro n>]]


Considerando os elementos abaixo:


O endereço Rest completo ficará:

https://app-19-33-61591.ide.cronapp.io/api/cronapi/odata/v2/app/TelefonesCliente?idCliente=1

Teste do serviço

Existem diversos aplicações para testar serviços REST: Programas, extensões de navegadores e até sites. Estamos utilizando a aplicação Postman.

Selecione o Verbo ou método HTTP, nesse caso estamos usando GET, o endereço completo do serviço e clique em "Send" para retornar o conteúdo referente ao cliente, nesse exemplo estamos consultando o cliente que possui o identificador "2".


Figura 4.1 - Retorno do serviço via Bloco de programação


Enquanto no exemplo da Fonte de dados é retornado um XML (figura 4.2), no Bloco de programação (figura 4.1) é retornado um array em JSON, isso ocorre pois o bloco Abrir consulta que usamos no exemplo da figura 2.1 sempre retorna um array de objeto.


Figura 4.2 - Retorno do serviço via Fonte de dados


Nessa página

  • No labels