我正在开发一个API,它有这样的路由(所有POST请求)
一个一个一个一个一个一个一个一个...
这就是它的处理方式server.js
app.post("/friends", (req, res, next) => {
let d = req.query.d
let path "./funcs/" + d + ".js"
return require(path)(req, res, next)
})
./funcs/onlineFriends.js
module.exports = (req, res, next) => {
return res.sendStatus(200)
}
But the thing is, I want to use different middlewares per func, with the code above if I wanted to use a middleware it would apply to all funcs because you'd have to put it in app.post part.
我试过了:
module.exports = (req, res, next) => {
middleware(req, res, next)
return res.sendStatus(200)
}
但是当然它导致Cannot set headers after they are sent to the client
。
我知道你可能会问"为什么不使用像/friends/online这样的路由器",我真的不能改变客户端,这是我必须做的。
1条答案
按热度按时间o7jaxewo1#
如果您有中间件
a
、b
和c
,您可以动态选择它们的组合并使用它们来处理请求: