Quiero obtener la tienda si la tienda no existe, luego llame a app.post() para agregar una nueva tienda.
Mi app.post() crea la tienda con éxito:
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); }); Cómo implementar getShop() por Id si existe; de lo contrario, créelo usando app.post() :
app.get('/shops/:id', (req, res) => { // how to code here });No debe llamar a app.post() directamente, es un controlador de API, sino que desea tener una función separada que realice esta lógica.
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 } });