Javascript 路由服务于param和request body节点
我对从param和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
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
}
});