Como começar
Vamos começar dando uma olhada nos arquivos que precisamos para criar nossa API. Vamos precisar instalar alguns packages Node, iniciar o servidor HTTP usando o Express, definir o modelo, declarar as rotas no Express e, então, testar nossa API.
Essa vai ser nossa estrutura de arquivos. Não vamos precisar de muitos arquivos e manteremos tudo bem simples para demonstração. Quando formos para uma aplicação maior ou de produção vamos separar as coisas em uma estrutura melhor, como manter os roteamentos em um arquivo separado. Vamos falar mais sobre estrutura de arquivos e melhores práticas mais tarde.
└── api/
├── models/
| └── user.js # nosso modelo para usuário
├── node_modules/ # criado pelo npm. contêm as dependências/packages
├── package.json # definições da app e suas dependências
└── index.js # configura a app e cria as rotas
Então vamos iniciar uma nova aplicação Node como vimos em Inicializando uma Aplicação Node e instalar alguns packages para começar.
Usamos a seguinte sequencia de comandos:
> npm init
> npm install --save express morgan mongoose body-parser bcryptjs
Nosso package.json
vai parecer com esse:
{
"name": "api",
"version": "0.1.0",
"description": "API RESTful com Express",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [
"api",
"express"
],
"author": "@milesibastos",
"license": "MIT",
"dependencies": {
"bcryptjs": "^2.4.3",
"body-parser": "^1.17.1",
"express": "^4.15.2",
"mongoose": "^4.9.3",
"morgan": "^1.8.1"
}
}
O que esses packages fazem?
- express como vimos nos PRIMERS, é um framework web para node
- morgan é um middleware de log para exibir nossas requisições no console.
- mongoose é o ODM que vamos usar para conectar no MongoDB.
- body-parser outro middleware, esse vai fazer o parse das requisições para o formato JSON.
- bcryptjs nos permite fazer o hash das senhas já que nunca é uma boa ideia armazena-las como texto direto no banco.
O NPM baixou e instalou todos os packages na pasta node_modules
em nosso projeto. Simple e fácil. Agora que já temos os packages instalados vamos em frente e usa-los para configurar nossa API.
Vamos da uma olhada no index.js
para confirgurar nossa API já que ele é o main file que declaramos no package.json
.