Criando REST APIs com NodalJS
Com diversos frameworks já consolidados como ExpressJS, HapiJS e Strapi, vou abordar um pouco sobre o framework NodalJS, focado em otimização de APIs e Ferramentas Built-in, o que o tornam completo e simples de usar.
O que mais me chamou a atenção, foi a integração completa com Banco de Dados (Suporte para PostgreSQL por enquanto) e ORM. ExpressJS ou até mesmo HapiJS necessitam de plugins ou extensões que façam esse trabalho. Não que seja algo ruim, mas utilizar frameworks com features built-in na maioria dos casos é melhor para manutenção.
NodaljS é um webserver com base em NodeJS, e o foco principal dele é a construção de API services.
Para quem está familiarizado com Django ou Rails, este framework MVC segue os mesmos conceitos.
Mesmo estando em fase Beta, ele é promissor, e na versão 0.8.2 ele possui features como:
- Models
- Routing
- Migrations
- Tasks
- Authorizer
- Controllers
- ORM
- Schedulers
- Middleware
- CLI Tools
NodalJS possui as seguintes propostas:
- Plataformas de software devem ser modular – de preferência um serviço para cada domínio
- Cada serviço deve ser realmente bom em uma coisa, e apenas uma coisa
- Serviços representam Lógicas de Domínio e devem existir como projetos separados e e o menor acoplamento possível.
Iniciando o Projeto
Para começar um novo projeto, é preciso a instalação do módulo node. Lembrando que é necessário ter Node (4.x) ou mais.
npm install nodal -g
A partir deste ponto, temos o comando “nodal” disponível na linha de comando.
Para iniciar um projeto utilize:
nodal new
Todo o Scaffold do projeto será construído.
Iniciando o Servidor
Utilize o comando:
nodal s
Caso queira mudar as configurações de ambiente, altere as configurações de config/secrets.json
{"development": {
"port": 3000,
},"production": {
"port": "{{= env.PORT }}",
}}
Criando Controllers por linha de comando
Para criar controllers via linha de comando execute:
nodal g:controller NomeDoController
Caso queira criar um controller específico para uma Model (CRUD), utilize:
nodal g:controller –for:ModelName
Criando Models
Para criar models via linha de comando execute:
nodal g:model NomeDaModel
Com estes comandos básicos, é possível a criação de CRUD’s básicos e de uma forma rápida.
Para finalizar, seguem links do Framework e como iniciar um novo projeto.