Как выполнить операции PUT и DELETE в Restful API, используя express nodejs и mongoose? - PullRequest
0 голосов
/ 10 сентября 2018

Ошибка ScreenShot

//Routes.js

module.exports = function(app){
var todolist = require('../controllers/todolistcontroller');

//Defining the routes

app.route('/tasks')
.get(todolist.list_all_tasks)
.post(todolist.create_a_newtask);

app.route('/tasks/taskId')
.get(todolist.read_a_task)
.put(todolist.update_a_task)
.delete(todolist.delete_a_task);
};

//Controller.js

var mongoose = require('mongoose'),
Task = mongoose.model('Tasks');

exports.list_all_tasks = function(req,res){
    Task.find({},function(err,task){
        if(err)
        res.send(err);
        res.json(task);
    });
};

exports.create_a_newtask = function(req,res){
    var newTask = new Task(req.body);
    newTask.save(function(err,task){
        if(err)
        res.send(err);
        res.json(task);
    });
};

exports.read_a_task = function(req,res){
    Task.findById(req.params.taskId,function(err,task){
        if(err)
        res.send(err);
        res.json(task);
    });
};

exports.update_a_task = function(req,res){
    Task.findOneAndUpdate({_id:req.params.taskId},req.body,{new : true},function(err,task){
        if(err)
        res.send(err);
        res.json(task);
    });
};

exports.delete_a_task = function(req,res){
    Task.remove({_id:req.params.taskId},function(err,task){
        if(err)
        res.send(err);
        res.json({message:'Task deleted'});
    });
};

Написана простая операция CRUD с использованием RESTful Api с express.js framework в nodejs и mongoose. Протестировано с POSTMAN, получил всю базу данных в ответ и размещения новых данных работает отлично. Однако методы PUT & DELETE не работают. Не удалось выяснить ошибку.

Помогите мне найти ошибку, заранее спасибо.

Вот мой код

var mongoose = require('mongoose'),
Task = mongoose.model('Tasks');

exports.list_all_tasks = function(req,res){
    Task.find({},function(err,task){
        if(err)
        res.send(err);
        res.json(task);
    });
};

exports.create_a_newtask = function(req,res){
    var newTask = new Task(req.body);
    newTask.save(function(err,task){
        if(err)
        res.send(err);
        res.json(task);
    });
};

exports.read_a_task = function(req,res){
    Task.findById(req.params.taskId,function(err,task){
        if(err)
        res.send(err);
        res.json(task);
    });
};

exports.update_a_task = function(req,res){
    Task.findOneAndUpdate({_id:req.params.taskId},req.body,{new : true},function(err,task){
        if(err)
        res.send(err);
        res.json(task);
    });
};

exports.delete_a_task = function(req,res){
    Task.remove({_id:req.params.taskId},function(err,task){
        if(err)
        res.send(err);
        res.json({message:'Task deleted'});
    });
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...