Criando uma simples API em Node.js

Imagem no Flickr

Muitos desenvolvedores web usam o Javascript diariamente. Para muitos, Javascript é visto como um simples brinquedo usado para validações em formulário, ou até mesmo, para criar efeitos legais e 0aplicar máscara em campos de entrada de dados. Então, nunca parou para pensar, por que não ir além disso? Por que não usar Javascript no lado do backend? Javascript em tudo quanto é lugar?

Já ouviu falar do Node.js? Pois é, com ele tudo isso é possível.

Imagem no Flickr

Neste tutorial vamos criar uma simples API RESTful que usa Node.js e o framework Express.

Ambiente Node

Primeiro de tudo, vamos garantir que o Node está instalado na sua máquina. Para isso, abra o terminal ou o prompt de comando e digite:

node -v

Se não estiver instalado, vá até o site do Node.js e siga os passos para a instalação. Rode o instalador. Pronto, agora você instalou o Node.js e o NPM. O NPM é o gerenciador de pacotes para o ambiente Node. Com ele você pode adicionar ou remover dependências no seu projeto.

O Node é um ambiente onde podemos rodar aplicações totalmente escritas com Javascript.

Express

Com o Node rodando, vamos instalar o Express. Basta ir até o terminal e digitar:

npm install -g express body-parser

Com o Express, você é capaz de criar aplicações web simples e muito mais. O comando npm install -g instala o Express globamente no seu sistema. Logo mais iremos falar sobre a depêndencia body-parser.

Criando nossa API

Ainda no terminal, crie um diretório com o nome da sua aplicação e vá até o diretório criado. Faça algo como:

mkdir api-node

E depois:

cd api-node

Agora, dentro do diretório api-node, abra o seu editor de textos preferido e crie um arquivo chamado app.js. Vamos precisar usar o pacote do Express que foi instalado anteriormente para poder criar a nossa API. Vejamos como vai ficar o nosso arquivo app.js:

Estas duas linhas dizem que a nossa API vai importar os pacotes express e body-parser. Esse segundo pacote será o responsável por parsear as requisições via JSON.

Ainda no nosso arquivo app.js temos:

Essa linha é importante, pois configura o Express e atribui à variável app a ele. A linha a seguir é usada para configurar a forma como iremos tratar nossas requisições no Express.

Agora nós podemos nos preocupar em rotear a nossa API. Isso é tudo que temos que fazer para rotear a URL /maps via método GET:

Quando o usuário navegar até a rota /maps, nosso servidor vai retornar um array de objetos contendo informações com latitude e longitude.

Precisamos configurar uma porta onde nosso servidor web ficará escutando as chamadas HTTP. Vejamos:

Vamos ver como ficou o arquivo app.js:

Volte ao terminal para rodar a nossa aplicação com o comando:

node app

Aperte enter. Você vai ver isso:

Servidor rodando na porta 8000.

Pronto! Com isso temos um servidor web configurado para servir a nossa API na porta 8000. Basta abrir o seu navegador e digitar http://localhost:8000/maps.

Esse é o seu próprio servidor web com Node.js e o framework Express.

Experimente criar novas rotas para a sua API. Lembrando que o que vimos até agora foi uma versão mínima do que podemos fazer com o Express e o Node.

Você pode conferir o projeto completo aqui.

Qualquer dúvida, dá um grito!