Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

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 Diagrama ).
Passos

  1. 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).


Image Modified

Figura 1 - Relacionamento usado nesse exemplo

Criando

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, nomeamos , nesse exemplo nomearemos o bloco para "WebServiceRest" e uma sua função para "cliente" que recebe o parâmetro . A função irá receber como parâmetro um identificador do cliente "idC" e retorna 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)


Âncora
ConfigQuery
ConfigQuery

Informações
titleDica

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


Image Modified

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

Configurando a chamada REST

Configuração

Após finalizar a lógica 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 para a configuração do REST são os campos estão descritos abaixo. (Figura 32.2)

  • Tempo limite: Limite em segundos para a execução. Após o limite, o bloco a ação é finalizadofinalizada.
  • Tipo:  define define tipo de permissão para acesso ao bloco, sendo dois tipos 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)

Âncora
ConfigBloco
ConfigBloco

Image Modified

Figura 3 2.2 - Configuração da chamada REST

Salve as alterações para que o Cronapp gere todas as anotações necessárias para as requisições REST com a alteração do campo Tipo como Externo nas Propriedades do Bloco de programação do lado Servidor. (Figura 4) Como vimos, todo esse processo é feito em Low code

Image RemovedFigura 4 - Notações REST gerado pelo CronApp ao alterar as propriedades do Bloco

Obter o endereço REST

O modelo da URI REST para esta função está descrita no campo "Rest" (Figura 3): 


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

<Nome do arquivo com a função

rest>:<Função>[/<Parâmetro 1>

>:<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).


Image Added

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.


Âncora
configFonte
configFonte

Informações
titleDica

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


Image Added

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).


Image Added

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

Antes do modelo acima, é necessário inserir o domínio do sistema. Como estamos em modo desenvolvimento, precisamos executar a aplicação para verificar o endereço temporário gerado pelo Cronapp, como mostrado na Figura 5.

Image RemovedFigura 5 - Domínio de desenvolvimento gerado pelo Cronapp

Ao final, o endereço que iremos usar para consumir o recurso é:

https://9-211-10090.debug

.ide.cronapp.io/api/cronapi/odata/

rest/blockly.WebServiceRest:cliente/<id do Cliente>

v2/app/TelefonesCliente?idCliente=1

Teste do serviço

Testando o Serviço

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

Informe o tipo de 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 de id = 2, como exibido na Figura 6que possui o identificador "2".


Image Added

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.


Image Modified

Figura 6 - Teste da requisição em outro sistema4.2 - Retorno do serviço via Fonte de dados


Nessa página

Índice