Já leu as partes 1 e 2? Não? Confira aqui:
Com um model e um controller para criação de um item no banco configurado, precisamos ajustar a rota. Primeiramente vamos criar um arquivo chamado routes.js dentro de /src. Começaremos importando o express, para chamar seu método Router() e vamos importar também o controller que acabamos de criar.
const express = require('express');
const routes = express.Router();
const ItemList = require('./controllers/ItemController');
Depois vamos criar nossa primeira rota do nosso endpoint. Vamos destrinchar essa linha a seguir:
routes.post('/itemsList', ItemList.createItem)
Nossa rota, como estamos enviando dados, o verbo HTTP que vamos usar é o POST. Esse método recebe como primeiro parâmetro o caminho relativo, e como segundo, recebe o método createItem que está dentro de nosso controller.
Essa será a primeira rota, mais tarde faremos a rota de listagem (GET), a de delete (DELETE) e a de update (PUT).
Por fim, exporte as rotas:
module.exports = routes;
Finalizando Server.js
Antes de passarmos para os próximos requests da API, precisamos chamar algumas coisas no server.js. Estamos com o seguinte código lá, primeiramente vamos remover a rota que colocamos e usar nosso arquivo de rotas:
server.js
// Remover essa rota
app.get('/', (req, res)=> {
res.send('Hello World!');
});
// ****************************************
// Adicionar a lista de rotas
app.use('/api', require('./src/routes.js'))
// ****************************************
Precisamos também importar nosso model:
require('./src/models/Item');
Nosso server agora vai ficar assim:
const express = require('express');
const mongoose = require('mongoose');
const app = express();
// Permite envio de json para o servidor
app.use(express.json());
// Conectar com o banco
mongoose.connect('mongodb://localhost:27017/apibase', {useNewUrlParser: true})
// Importação dos models
require('./src/models/Item');
// Importação das rotas
app.use('/api', require('./src/routes.js'))
app.listen('3002', ()=> console.log('server running at localhost:3002'))
Feito isso, podemos testar nosso CREATE no Postman, mas vamos ver isso no próximo post.