删除多个数组 // "route doesn't exist"



我试图删除多个元素的数组,但我想我做错了什么。

我的应用程序看起来像这张图片

所以,当我按下批量删除时,我得到一个错误,即该路线不存在(图片(我想这是因为在我的节点路由中看起来像

import express from "express";
const router = express.Router();
import {
createProduct,
getAllProducts,
deleteProduct,
} from "../controllers/productController.js";
router.route("/createProduct").post(createProduct);
router.route("/").get(getAllProducts);
router.route("/:id").delete(deleteProduct);
export default router;

我试过在邮差,它很成功,我想是因为我通过了id,但现在在我的状态下,我选择了项目数组和它的一堆id图片那么,在路由中如何写它是一个数组呢?提前感谢

错误是因为存在的唯一删除端点是您将id作为参数router.route("/:id").delete(deleteProduct);传递的端点,所以当您将HTTP DELETE作为localhost:5000/api/v1/的目标时,它会抛出404错误。

对于多次删除,你可以创建一个新的路线,比如:

router.route("/deleteMassProducts").delete(deleteMassProducts);

然后,您可以在请求正文中发送所选项目的数组,然后使用您喜欢的任何逻辑删除它们。您也可以在不更改后端任何内容的情况下实现这一点,只需循环浏览所选项目,并针对每个所选项目id多次使用:id参数来确定删除路线。

相关内容

最新更新