Este é um exemplo de API feito através do Gerador Lewix Generator.
Para instalar o projeto execute o seguinte comando dentro do diretório.
npm install
Após instalar, execute o seguinte comando para executar
Em desenvolvimento
npm run dev
Em Produção
npm start
Segue abaixo a organização do projeto.
LewixGeneratorAPI/
|
|-- api/
| |-- controllers
| |-- lib
| |-- middlewares
| |-- models
| |-- index.js
| |-- routers.js
|
|-- db
|-- package.json
|-- .env
|-- .gitignore
Diretório principal onde estão armazenado os arquivos de códigos.
Arquivos de controllers de cada model, contendo os métodos List, ListOne, Save (update e create) e Delete.
// ModelController.js
async list (req, res) { ... }
async listOne (req, res) { ... }
async save (req, res) { ... }
async delete (req, res) { ... }
Diretório de uteis. Nesse caso, informações de conexão com o Banco de dados. Caso utilize o SQLITE (default), será criado o arquivo /db/database.sqlite.
Diretório de Middlewares. Neste caso, o responsável por validar o Token de Authenticação.
Arquivos de Models de cada entidade declarados em Sequelize.js.
Arquivo Main
Arquivo de conexão de rotas e middlewares.
// Rotas de usuario
...
routes.post("/user/auth", UserController.Authenticate);
routes.post("/user/list", AuthToken, UserController.list);
routes.post("/user/list/:id", AuthToken, UserController.listOne);
routes.post("/user/save", UserController.save);
routes.delete("/user/delete", AuthToken, UserController.delete);
...