不同的查询取决于可选的路由 - expressjs

时间:2018-01-03 15:34:11

标签: javascript node.js express routes

是否可以根据可选路线创建不同的查询?

app.get('/:genre/:book?', function (req, res) {

 var genre = req.params.genre;
 var book = req.params.book;

 var sql = 'SELECT * FROM books WHERE genre = ? AND book = ?';

 con.query(sql, [genre, book], (err, rows) => {
  if (err) throw err
  res.send(rows);
 });

});

1 个答案:

答案 0 :(得分:1)

这样的事可能吗?

app.get('/:genre/:book?', function (req, res) {

    var genre = req.params.genre;
    var book = req.params.book;

    var sql = 'SELECT * FROM books WHERE genre = ?';
    var params = [genre];

    if(book) {
        sql += ' AND book = ?';
        params = [genre, book];
    }

    con.query(sql, params, (err, rows) => {
        if (err) throw err
        res.send(rows);
    });

});