gpt4 book ai didi

node.js - 如何使用 Express 和 Node 仅在 POST 上添加中间件

转载 作者:搜寻专家 更新时间:2023-10-31 22:28:24 26 4
gpt4 key购买 nike

我有一个中间件,我只想在发布 http 方法时应用它。

以下工作正常,但我觉得有更好的方法:

'use strict'

const express = require('express'),
router = express.Router()


router.use((req, res, next) => {
if (req.method === 'POST') {
// do stuff
}

return next()
})

module.exports = router

我想做这样的事情,但它不起作用:

'use strict'

const express = require('express'),
router = express.Router()


router.post((req, res, next) => {
// do stuff

return next()
})

module.exports = router

最佳答案

可以使用*符号:

const express = require('express')
const app = express();

app.post('*', (req, res, next) => {
console.log('POST happen')
next();
})

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

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

app.listen(11111);

这将在 POST/foo 上以“foo”字符串响应,在 POST/bar 上以“bar”字符串响应,但始终将“POST happen”记录到控制台。

关于node.js - 如何使用 Express 和 Node 仅在 POST 上添加中间件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44155079/

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