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
- Projeto do tipo mobile ou web criado. Caso haja dúvidas de como criar esse tipo de projeto acesse o link ( Criar novo projeto );
- Criar classes no Diagrama, gerar persistência e popular o banco. Para criar classes e gerar persistência acesse o link ( Diagrama 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).
Image Modified
Figura 1 - Relacionamento usado nesse exemplo
CriandoPassos
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 | ||||
---|---|---|---|---|
|
Informações | ||
---|---|---|
| ||
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 RESTConfiguraçã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 | ||||
---|---|---|---|---|
|
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 do arquivo com a função
>:<nome da Função>[/<Parâmetro 1>[/Parâmetro n]]
Considerando os elementos abaixo:
- Domínio: https://app-19-33-61591.ide.cronapp.io/
- Arquivo Java: WebServiceRest
- Função: cliente
- Parâmetro: 1 (valor do parâmetro passado na função)
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 | ||||
---|---|---|---|---|
|
Informações | ||
---|---|---|
| ||
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
- Identificador: fonte de dados que será usado na URI do serviço REST.
- Nome da consulta: nome que será exibido na lista de fonte de dados do projeto.
- Entidade: botão de seleção das entidades.
- Configura consulta: personaliza a consulta da fonte de dados;
- Parâmetros: parâmetros definidos nas regras da consulta;
- 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:
- Domínio: https://app-19-33-61591.ide.cronapp.io/
- Identificador da Fonte de dados: TelefonesCliente
- Parâmetro: idCliente
- Valor do parâmetro: 1
O endereço Rest completo ficará:
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/
v2/app/TelefonesCliente?idCliente=1
Teste do serviço
Testando o ServiçoExistem 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 |
---|