最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Express中的GET后如何调用PUT

运维笔记admin8浏览0评论

Express中的GET后如何调用PUT

Express中的GET后如何调用PUT

请求Postman中的GET然后PUT可以按预期工作,尽管我看不到如何在节点中以编程方式进行此操作。

示例:

请求GET localhost:3000 / orders / Asia返回50股

请求PUT本地主机:3000 / orders / Asia / 40返回10

app.get('/orders/:coffeeid', function(req, res) { 
  db.collection('coffees').find({'name': req.params.coffeeid}).toArray((err, result) => { 
    if (err) return res.send(500, err)
    var data = {
        "orders": {
            "name": result.coffeeid,
            "stock": result.stock
        }
    };
    res.json(result);
})
})

app.put('/orders/:coffeeid/:quantity', function(req, res) {

  db.collection('coffees').find({'name': req.params.coffeeid}).toArray((err, result) => { 
    if (err) return res.send(500, err)
    orders = {
        "name": req.params.name,
        "quantity": req.params.quantity
    };

console.log(result[0].stock, orders.quantity, orders.quantity <= result[0].stock) // resolvido
console.log(orders.quantity)

if (Number(orders.quantity) <= Number(result[0].stock) ) {

  result[0].stock = result[0].stock - orders.quantity
  db.collection('coffees').updateOne({'name': req.params.coffeeid}, result[0], function(err, result) {
    console.log('Order dispached. Thank you');
    res.json(result);
    res.render('orders.ejs', {orders: result, success: false})
  });
}
else {
  console.log('There isnt enough in stock. Will dispach ASAP');
  res.json({error: true});
}

  })
})

从获取中获取股票价值后,如何以编程方式调用更新?

谢谢

回答如下:

如果我理解正确,答案将是代替为PUT请求声明匿名函数,您可以这样做`

const whatEverYouWant =function(req, res) {

  db.collection('coffees').find({'name': req.params.coffeeid}).toArray((err, result) => { 
    if (err) return res.send(500, err)
    orders = {
        "name": req.params.name,
        "quantity": req.params.quantity
    };

console.log(result[0].stock, orders.quantity, orders.quantity <= result[0].stock) // resolvido
console.log(orders.quantity)

if (Number(orders.quantity) <= Number(result[0].stock) ) {

  result[0].stock = result[0].stock - orders.quantity
  db.collection('coffees').updateOne({'name': req.params.coffeeid}, result[0], function(err, result) {
    console.log('Order dispached. Thank you');
    res.json(result);
    res.render('orders.ejs', {orders: result, success: false})
  });
}
else {
  console.log('There isnt enough in stock. Will dispach ASAP');
  res.json({error: true});
}

  })
}
app.get('/orders/:coffeeid', function(req, res) { 
  db.collection('coffees').find({'name': req.params.coffeeid}).toArray((err, result) => { 
    if (err) return res.send(500, err)
    var data = {
        "orders": {
            "name": result.coffeeid,
            "stock": result.stock
        }
    };
          yourPutRequest(req,res) //
    res.json(result);
})
})

app.put('/orders/:coffeeid/:quantity',whatEverYouWant)

`

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论