CRUD API Restful Express e Mongo DB [parte 1]

Antes de começar você deve ter o node js instalado.

Agora baixe e instale o mongo db https://www.mongodb.com/download-center#community

Imagem

Depois adicione a pasta bin do mongo db no path:

Imagem

Se estiver com prompt aberto, renicie-o. Próximo passo é executar o comando para iniciar o serviço do mongo DB:

    mongod
    

Se der esse erro:

    exception in initAndListen: NonExistentPath: Data directory C:/data/db not found., terminating

basta criar a pasta C:/data/db e rodar o comando novamente

Feito isso, vamos criar a pasta do projeto. Pode ser no local que preferir:

     mkdir api_mongo && cd api_mongo

agora vamos iniciar o projeto

     npm init -y

Agora vamos instalar as dependências:

     npm i --save express mongoose body-parser loadash mongoose-paginate express-query-int node-restful pm2

O nodemon como dependência de desenvolvimento

     npm i --save-dev nodemon

Agora vamos alterar os scripts do arquivo package.json

     "scripts": {
       "production": "pm2 start index.js --name api_mongo",
       "dev": "nodemon"
     },

Nesse mesmo arquivo package.json indica que nosso projeto vai ser iniciado no arquivo index.js. Como esse arquivo ainda não existe vamos criá-lo na raiz do projeto:

     //configurações express
    const port = 3000;
    
    const bodyParser = require('body-parser');
    const express = require('express');
    
    const server = express();
    
    server.use(bodyParser.urlencoded({extended: true}));
    server.use(bodyParser.json());
    
    server.listen(port,function(){
        console.log(`Rodando na porta ${port}`);
    });
    
    //configurações mongoose
    const mongoose = require('mongoose');
    mongoose.Promise = global.Promise;
    module.exports = mongoose.connect('mongodb://localhost/db_teste');

Executar esse comando para rodar o script dev e subir o serviço

     npm run dev

Se ocorreu tudo bem, deve aparecer no console: Rodando na porta 3000 e sempre que houver alteração no arqvuio inde.js o nodemon renicia o express automaticamente.

Agora que nosso ambiente já está configurado, vamos continuar a implementação das rotas no próximo post

Comentários

 

Quem Sou

Graduado em ADS (Análise e desenvolvimento de sistemas).

Não sou "devoto" de nenhuma linguagem de programação. Procuro aproveitar o melhor de cada uma de acordo com a necessidade do projeto. Prezo por uma arquitetura bem feita, código limpo, puro e simples! 

anuncio atendente