gpt4 book ai didi

node.js - express ,多条路线到同一功能

转载 作者:搜寻专家 更新时间:2023-10-31 23:10:04 25 4
gpt4 key购买 nike

我正在模仿另一个 api。我还想提供一个不同的(更好的恕我直言)api。

// this is url I need to support 
api.post('/books/updateBook', function(req, res) {
...
});

// Would also like to support
api.put('/books/:bookId', function(req, res) {
...
});

我可以轻松做到:

var updateBook = function(req, res) {
...
}

// this is url I need to support
api.post('/books/updateBook', updateBook);

// Would also like to support
api.put('/books/:bookId', updateBook);

完全可以接受吧?作为表达的新手,我想知道是否有更“表达”的方式来处理这个问题。我知道您可以使用正则表达式,但我不确定您是否可以跨不同的 HTTP 动词(POST 与 PUT)映射正则表达式。

想法?

最佳答案

api.all('/books/:bookId', function (req, res, next) {
if (req.method === 'PUT' || req.method === 'POST) {
//get your groove on
} else {
next();
}
});

您可以在 express 中组合动词,您只需使用所有并检查方法,如果它匹配,则处理请求,否则将其传递到处理程序链(使用 next();)。

话虽如此,我认为您做对了,没有理由路由处理程序需要是 lamda。

关于node.js - express ,多条路线到同一功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15561859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com