Nodejs Express-处理404(未找到)和405(不允许的方法)分开



我正在尝试找到一种在我的快递应用程序中同时处理404和405状态代码的方法,但是将它们分开。

例如:我有一个路由器,如下:

// Add routes for every path we define here.
server.use('/', require('./indexRoutes'))
server.use('/account', require('./accountRoutes'))
// Handling route errors.
server.all('*', (request, response) => 
    response.status(404).send('Invalid route (not found).')
)

但是,通过server.all方法处理无效的路由或无效的HTTP动词。有没有办法将它们分开,以发送不同的状态,内容和每种情况的所有内容?

谢谢你!

我想到的第一件事是在声明所有有用的路径后,要为每个路径声明您要响应405错误。例如,在您的ACCOUNTROUT中:

server.get('/account', ....);
server.post('/account', ...);
server.all('/account', (req, res, next) => {
   res.status(405).send('Method not allowed');
});

如果您收到get或post到/帐户路径,它将用您的方法对待。其他方法将使用405代码进行响应。

未实施的路径默认情况下将发送404代码,我认为您不需要实现

最新更新