Todas as outros métodos do crud estão funcionando normalmente, apenas o método store que faz a inserção de um novo funcionário na base de dados, não esta funcionando como deveria, e retorna o seguinte erro
Cannot POST /%20/funcionarios
//ROTAS
const express = require('express');
const routes = express.Router();
const authMiddleware = require('./app/middleware/auth');
const controllers = require('./app/controllers');
/**
* Session
*/
routes.post('/sessions', controllers.SessionController.store);
routes.use(authMiddleware);
/**
* User
*/
routes.get('/users', controllers.UserController.index);
routes.get('/users/:id', controllers.UserController.show);
routes.post('/users', controllers.UserController.store);
routes.put('/users/:id', controllers.UserController.update);
routes.delete('/users/:id', controllers.UserController.destroy);
/*
* Funcionario
*/
routes.get('/funcionarios', controllers.FuncionarioController.index);
routes.get('/funcionarios/:id', controllers.FuncionarioController.show);
routes.post('/funcionarios', controllers.FuncionarioController.store);
routes.put('/funcionarios/:id', controllers.FuncionarioController.update);
module.exports = routes;
// class FuncionarioControlller
const Funcionario = require('../models/Funcionario');
class FuncionarioControlller {
async index(req, resp){
const funcionarios = await Funcionario.paginate({}, {
page: req.query.page || 1,
limit: 20,
sort: '-createdAt'
});
return resp.json(funcionarios)
}
async show(req, resp){
const funcionario = await Funcionario.findById(req.params.id);
return resp.json(funcionario)
}
async store(req, resp){
const funcionario = await Funcionario.create(req.body);
return resp.json(funcionario);
}
async update(req, resp){
const funcionario = await Funcionario.findByIdAndUpdate(req.params.id, req.body, {
new: true
});
return resp.json(funcionario);
}
async destroy(req, resp){
await Funcionario.findByIdAndDelete(req.params.id);
return resp.send();
}
}
module.exports = new FuncionarioControlller()