Doc
  • Comece Já
  • Academia
  • Biblioteca
  • Languages iconPortuguês
    • English

›Explore

Academy

  • Visão Geral
  • Introdução
  • Backoffice
  • Poliglota
  • Apps
  • API
  • Estratégia
  • Demo Application

    • Configuração
    • Formulário
    • Relacionar Dados
    • Serviço
    • Interface & Design
  • Próximos Passos
  • Primeira aplicação

Explore

  • Configuração
  • Centralized Terminal
  • Linha de Comandos
  • Serviços
  • Indústria
  • Graphical Interface

    • Conheça a interface gráfica
    • Formulários
    • Campos
    • Queries Interface

User Interface

  • Modal Form
  • Implementar tabelas e gráficos
  • Eventos do Ciclo de Vida

Server

    Database

    • Excel
    • H2Database
    • MSSQL
    • Múltiplas bases de dados
    • PostgreSQL
    • DB Connection Pool

    Services

    • Serviços Web REST
    • WebSocket
    • JWT Token
    • OpenAPI
    • CORS
    • Queries Programaticamente
    • Gerar Unique ID's (UID/GUID)
    • Envio de e-mails
    • XLS - Excel
    • PDF
  • Actions
  • Cron Jobs
  • Custom URLs
  • Setup dos Dados
  • Monitor e Alertas
  • Templates
  • Desenvolvimento e debug em Java
  • Integração com NGINX

Website

  • ReactJS Create
  • Pages & Routers

Serviços

Antes de começar

Antes de criar serviços Web REST certifique-se que sabe criar Formulários, Campos e Relações, caso não o saiba visite as seguintes ligações:

  • Formulários
  • Campos
  • Relações entre formulários

É também aconselhável que, antes de começar este tutorial, se certifique que tem noções básicas em JavaScript, React.js e HTML.

O que permitem os serviços?

Os serviços Web REST permitem interagir diretamente com a base de dados permitindo a leitura de dados, registo de novos dados, eliminação de dados e até mesmo atualizações.

Portanto, para demonstrar a criação de um serviço iremos utilizar um exemplo simples: uma aplicação em que os trabalhadores registam a hora de entrada e de saída em que há um serviço que calcule o número total de horas efetuadas pelo trabalhador.

Segue-se uma imagem da estrutura da aplicação:

servicos-web-rest1.png

Nota: Não é necessário criar o campo de id porque o Netuno o cria automaticamente após a criação da tabela.

Primeiros passos

O primeiro passo será criar o serviço, para tal, utilizando o editor de texto Atom, vamo-nos dirigir à pasta services como se apresenta na seguinte imagem:

servicos-web-rest2.png

Neste exemplo a app denomeou-se de 'registohoras', no seu caso irá ser a mesma estrutura mas com o nome que deu à sua aplicação

Criação do serviço

Ao entrarmos nesta pasta vamos criar um ficheiro terminado em .js com um nome adequado ao serviço.

Neste exemplo iremos nomear o ficheiro como ‘registos.js’.

Por norma o nome do serviço é escrito com letras minúsculas, e se necessário mais que uma palavra, separadas por hífens (-)

Neste exemplo iremos efetuar o cálculo de horas totais por trabalhador, ou seja, calcular o número total de horas efetuados pelo trabalhador com base na hora de entrada e saída.

Iremos também, previamente, adicionar dados para podermos obter resultados.

Portanto o primeiro passo será criar a chamada à base de dados da seguinte forma:

/*
  Para chamar o serviço, se não tiver alterado a porta,
  dirija-se a ligação 'http://localhost:9000/services/registos.netuno'
*/

// Para realizar uma query simples utilizamos _db.query() que é uma função Netuno
var registos = _db.query(''+
  ' SELECT DISTINCT '+
  '   trabalhador.nome, '+
  '   SUM(DATEDIFF(HOUR, registo.hora_entrada, registo.hora_saida)) AS total '+
  ' FROM registo INNER JOIN trabalhador '+
  '   ON registo.trabalhador_id = trabalhador.id '+
  ' GROUP BY trabalhador.nome'
);

// Para visualizar no ecrã os resultados da query ao chamar o serviço registos.netuno
// utilizamos _out.json(variavel)
_out.json(registos)

Qualquer serviço é chamado substituindo a extensão '.js' por '.netuno' ou por simplesmente pelo nome do serviço sem '.js'

Se tiver seguido todos os passos anteriores a chamada ao serviço irá mostrar no ecrã algo semelhante ao seguinte:

(Note que consoante o seu navegador e os dados que introduziu poderão haver diferenças)

servicos-web-rest3.png

O próximo passo será processar os dados para podermos efetuar as contas.

Substituindo o seguinte código:

// Para visualizar no ecrã os resultados da query ao chamar o serviço registos.netuno
// utilizamos _out.json(variavel)
_out.json(registos)

Pelo seguinte excerto de código:

// Inicializar a variável para que esta possa receber valores
var registosProcessados = _val.init();

// Iteração por todos os registos para receber cada trabalhador, a data e as horas respectivas
if (registos) {

  for(var indice = 0; indice < registos.size(); indice++){

    var registo = registos.get(indice);

    var item = _val.init()
        .set("trabalhador", registo.getString("nome"))
        .set("trabalhadorHoras", registo.getInt("total"))

    registosProcessados.push(item);
  }
}

// Visualizar no ecrã os valores
_out.json(registosProcessados);

Caso tenha alguma questão não hesite em contactar-nos através dos meios apresentados no fim da página.

Bom desenvolvimento!

← Linha de ComandosIndústria →
  • Antes de começar
  • O que permitem os serviços?
  • Primeiros passos
  • Criação do serviço

Open Source

Download

admin@netuno.org

support@netuno.org

Copyright © Sitana 2022