如何处理 405?这里有一个简单的方法:
在https://github.com/expressjs/express/blob/master/lib/router/index.js#L253上插入代码
if (method !== 'OPTIONS') req.notAllowedRoute = route
然后我可以通过以下方式处理 405:
const notAllowedHandler = (req, res, next) => {
if (req.notAllowedRoute) {
res.header('Allow', Object.keys(req.notAllowedRoute.methods).join(', ').toUpperCase())
res.status(405)
} else {
next()
}
}