首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >呼叫路由快车中的多个模块

呼叫路由快车中的多个模块
EN

Stack Overflow用户
提问于 2018-02-25 13:19:33
回答 1查看 93关注 0票数 0

这是我第一次创建API。我试着删除用户项一次,用户就被删除了。我能够删除用户,但我没有成功地删除项目。

User.js

代码语言:javascript
复制
express = require('express');
User = require('./user');
Item = require('../item');
router = express.Router();

User.findByIdAndRemove(req.params.id, function(err, user) {
  if (err) {
    return res.status(500).send('User not found by id.');
  }
  Item.deleteMany(user._id, function(err, item) {
    if (err) {
      return res.status(500).send('Item is not found');
    }
    return res.status(200).send(user, item);
  });
});

有办法做到这一点吗?因为我觉得我做错了。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2018-02-25 19:32:03

看起来你并没有定义真正的路线--你需要

代码语言:javascript
复制
router.route('/').post(function(req, res){ ... });

您还应该包括正文解析器,以获取请求中的参数。

代码语言:javascript
复制
var bodyParser = require('body-parser');
app.use(bodyParser.json());
var parseUrlencoded = bodyParser.urlencoded({extended: false});

用户方法的代码看起来更像下面的块。您可以将'/‘更改为您希望api响应的URL路径,并且可以根据您想要响应的方法将代码从位于.post中更改为.delete。

代码语言:javascript
复制
route.route('/')
  .post(parseUrlencoded, function(req, res) {
    // code to respond to 'post' methods
    if (!req.params.id) {
      return res.send('id not sent')
    }

    User.findByIdAndRemove(req.params.id, function(err, user) {
      if (err) {
        return res.status(500).send('User not found by id.');
      }
      Item.deleteMany(user._id, function(err, item) {
        if (err) {
          return res.status(500).send('Item is not found');
        }
        return res.status(200).send(user, item);
      });
    });
  })
  .delete(parseUrlencoded, function(req, res) {
    // code to respond to 'delete' method
  })
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48973900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档