(Исправлено) Express. js запрос на удаление - PullRequest
0 голосов
/ 30 апреля 2020

Создание приложения MERN-стека, но функция запроса на удаление не работает.
Это соответствующий код

При попытке отправить запрос на удаление с помощью Почтальона эта ошибка отображается. Я просматриваю некоторые другие вопросы StackOverflow, но не могу найти ответ. В моих предыдущих express приложениях он работал как шарм.

Невозможно DELTE / api / todos

<!DOCTYPE html>



    
    Error



    <!--This is the error -->
    Cannot DELETE /api/todos

Todos. js


  const express = require('express');
  const uuid = require('uuid');
  const router = express.Router();
  const todos = require('../../Todo');

  router.get('/', (req, res) => {
      res.json(todos);
  });

  router.get('/:id', (req, res) => {
    const found = todos.some(todo => todo.id === req.params.id);

    if (!found) {
      res.status(400).json({ msg: `No meber whit id of ${req.params.id}` });
    } else {
      res.json(todos.filter(todo => todo.id === req.params.id));
    }
  });

  router.post('/', (req, res) => {
    const newEntry = {
      id: uuid.v4(),
      title: req.body.title,
      completed: false,
    };

    if (!req.body.title) {
      res.status(400).json({ msg: `Pleas include title` });
    }

    todos.push(newEntry);
    res.json(todos);
  });

  router.delete('/:id', (req, res) => {
    const found = todos.some(todo => todo.id === req.params.id);

    if (!found) {
      res.status(400).json({ msg: `No meber whit id of ${req.params.id}` });
    } else {
      todos.filter(todo => todo.id !== req.params.id);
      res.json(todos);
    }
  });

  module.exports = router;

1 Ответ

1 голос
/ 30 апреля 2020

router.delete('/:id', (req, res) требуется идентификатор параметра, поэтому реальная ссылка должна быть такой, как DELETE / api / todos / {id}, например / api / todos / 3

Как я заметил, ваш запрос отправлен на / API / todos без параметра

...