Javascript 路由服务于param和request body节点

Javascript 路由服务于param和request body节点,javascript,node.js,express,post,Javascript,Node.js,Express,Post,我对从param和body获得请求的路线有疑问 我的路线是删除用户。看起来是这样的: router.delete("/delete/:id",middleware, async (req, res) => { //firstly, I get param: var userId = req.params.id || ''; //if emty, it will get request from body if(!userId){ const listId

我对从param和body获得请求的路线有疑问

我的路线是删除用户。看起来是这样的:

router.delete("/delete/:id",middleware, async (req, res) => {
   //firstly, I get param:
   var userId = req.params.id || '';

   //if emty, it will get request from body
   if(!userId){
     const listId = req.userIds
   }
});
我执行请求,但它显示错误:
无法删除/api/users/DELETE

http://localhost:5000/api/users/delete/

您能解释一下我的问题出了什么问题吗?

根据您最近的评论,您需要一条用于删除收藏的路线以及模型路线。下面是一些“伪代码”:


您应该在中传递
id
URL@Subburaj如果我真的想要身份证,它会请求身体。是否可能?如果您没有通过
id
表示无法访问上述路线。它希望
/delete/id
解决路由问题@Subburaj说在路由中删除后添加id/delete/id谢谢大家,我明白了。这只是因为我想删除多个用户而不是一个用户。我也不想用用户列表将其解析为param。
// model form
router.delete("/delete/:id",middleware, async (req, res) => {
   var userId = req.params.id

   // made up backend service - add error handling, etc
   await dataService.users.delete(userId);
   res.sendStatus(200);  // again with error stuff
});

// collection form
router.delete("/delete",middleware, async (req, res) => {
   var userIds = req.body.userIds; // assumes use of bodyParser
   for (userId in userIds) {
       // made up backend service - add error handling, etc
       await dataService.users.delete(userId);
       res.sendStatus(200);  // again with error stuff
   }     
});