如何使用 express js 将端点用作另一个函数内的函数

How to use an endpoint as a function inside another function using express js

我想获取店铺,如果店铺不存在,请致电app.post()添加新店铺。

我的app.post()创建店铺成功:

app.post('/shops/addShop', (req, res) => {
      const shop = {
        id: 'shop' + (shops.length + 1),
        name: req.body.name,
        departmentList: [
        {
          id: 'd1',
          name: "department 1"
        },
        {
          id: 'd2',
          name: "department 2"
        },
        {
          id: 'd3',
          name: "department 3"
        }
        ]
      };
   
      shops.push(shop);
      res.send(shop);
});

如果存在,如何通过 Id 实现 getShop() 否则使用 app.post():

创建它
app.get('/shops/:id', (req, res) => {
   // how to code here
});

你不应该直接调用 app.post(),那是一个 API 控制器,相反你想要一个单独的函数来执行这个逻辑。

app.post('/shops', (req, res) => {
  res.send(createNewShop());
});

app.get('/shops/:id', (req, res) => {
  const shopExists = findShop(req.params.id);

  if (!shopExists) {
    return res.send(createNewShop());
  } else {
    // do something with your shop
  }
});