[英]How to add a middleware only on POST with Express and Node
我有一個中間件,我想只在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 occurrence”發送到控制台。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.