Pplware

Tutorial Node.js: REST API (calculadora simples)

O Node.js é uma das linguagens de programação mais versáteis da atualidade. Com a possibilidade de adicionar pacotes (packages), facilmente construímos aplicações e serviços poderosos.

Hoje vamos aprender como criar uma API com funções básicas de calculadora.


Além das características que já revelamos, é importante destacar ainda que o Node.js é orientado a eventos de I/O uma vez que tem disponíveis vários módulos que permitem trabalhar com recursos de I/O no servidor.

O Node.js tem também suporte para vários protocolos como, por exemplo, HTTP, HTTPS, DNS, WebSockets, etc e segue o modelo não bloqueante, ou seja, os pedidos serão feitos e entregues quando estiverem prontos. …

O que significa CRUD?

CRUD são as siglas para Create, Read, Update e Delete. Estas são as quatro operações básicas utilizadas em bases de dados relacionais (RDBMS).

A abreviação CRUD mapeada para o padrão ISO/SQL:

Arquitetura REST

REST — REpresentational State Transfer é um modelo de arquitetura que usa o protocolo HTTP para comunicação para GET, POST, PUT e DELETE. Existem várias representações para apresentar um recurso como, por exemplo, XML, JSON, sendo que este último é o mais usado. Saber mais aqui.

Vamos começar a programar uma API

Passo 1) Instalar o Node.js no Ubuntu e derivados

sudo apt-get update
sudo apt-get install nodejs

Passo 2) Criar diretório para projeto

mkdir calculadora
cd calculadora

Passo 3) Iniciar o projeto

npm init

No final será criado o ficheiro package.json. Este ficheiro guarda informações sobre o projeto e também sobre as dependências (pacotes) do mesmo.

Passo 4) Instalação de pacotes necessários

npm install — save hapi

Passo 5) Criar servidor (com Node.js)

Para começar vamos criar o ficheiro index.js (indicado no package.json)

touch index.js

Dentro do nosso ficheiro, associamos as dependências instaladas anteriormente (hapi) e inicializamos aapp.

//Framework hapi.js
const Hapi = require('hapi');

// Máquina e Porto Lógico
const host = 'localhost';
const port = 3000; 

// Criação do Servidor
const server = Hapi.Server({
    host: host,
    port: port
});

// Iniciar servidor
const init = async () => {

    await server.start();
    console.log("Server up no porto: " + port);

}

//Inicialização da App
init();

Para iniciar a app devem executar o comando:

node index.js

Vamos agora criar um about da app. Para tal adicionem o seguinte código a seguir ao init

server.route({
    method: 'GET',
    path: '/calculadora/about',
    handler: function (request, h) {

        var data = {
            msg: 'API Calculadora'
        };

        return data;
    }
});

Façam o teste via POSTMAN.

Organização da Aplicação (MVC)

A nossa aplicação deverá seguir o “design” MCV. M de Model (código para o nosso modelo de base de dados), V de View (layout) e C de controllers (parte lógica da app (Como a app lida com as solicitações recebidas e as respostas enviadas). Existem também as Routes que indicam ao cliente (browser ou app mobile) qual o controller a usar, de acordo com o url/path solicitado.

Criar Routes

$ mkdir routes 
$ cd routes
$ touch routes.js

No ficheiro index.js, antes do init(), devem invocar o ficheiro de routes.

const Hapi = require('hapi');

const host = 'localhost';
const port = 3000; 

const server = Hapi.Server({
    host: host,
    port: port
});

const init = async () => {

    await server.start();
    console.log("Server UP no porto: " + port);

}

//Definir routes
require('./routes/routes')(server);

init();

Ficheiro routes completo com as operações básicas da calculadora.

Depois de criada a app e colocada em execução, podemos facilmente testar todas as operações via browser ou POSTMAN.

E está feito! Agora basta que haja ideias para desenvolver APIs com outros propósitos. Como viram a programação nem é assim tão difícil e com a vantagem do código poder ser usada em qualquer app para qualquer dispositivo.

Leia também…

Exit mobile version