Я пытаюсь создать маршрут PUT на основе учебника, которому я следовал для стека MERN.
Модель:
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const toDoSchema = new Schema({
//taskNum: {type: Number, required: true},
task: {type: String, required: true},
//progress: {type: String, required: true},
//difficulty: {type: Number, required: true}
});
const toDo = mongoose.model("toDo", toDoSchema);
module.exports = toDo
API:
const express = require('express');
const router = express.Router();
//ToDo Model
const ToDo= require('../../models/toDo');
// @route GET api/toDo
// @desc GET all to dos
// @access Public
router.get('/', (req, res) => {
ToDo.find()
.sort({ taskNum: -1 })
.then(toDo => res.json(toDo))
});
// @route POST api/toDo
// @desc create a new to dos
// @access Public
router.post('/', (req, res) => {
const newToDo = new ToDo({
//taskNum: req.body.taskNum,
task: req.body.task,
//progress: req.body.progress,
//difficulty: req.body.difficulty
})
newToDo.save().then(toDo => res.json(toDo));
});
// @route DELETE api/toDo/:id
// @desc Delete a to do
// @access Public
router.delete('/:id', (req, res) => {
ToDo.findById(req.params.id)
.then(toDo => toDo.remove().then(() => res.json( {success: true } )))
.catch(err => res.status(404).json( {success: false } ));
});
// @route UPDATE api/toDo/:id
// @desc Update a to do
// @access Public
router.put('/:id', (req, res) => {
ToDo.findById(req.params.id)
.then(toDo => toDo.set({ task: req.body.task }).then(() => res.json( {success: true } )))
.catch(err => res.status(404).json( {success: false} ));
});
module.exports = router;
Я тестирую код в Postman и продолжаю получать сообщение об ошибке Cannot PUT.
Ошибка почтальона
Все остальные маршруты работают отлично, и я просто застрял в этой конечной точке.Любые идеи о том, что я должен изменить?