NodeJS Express - 分别处理 404(未找到)和 405(方法不允许)
NodeJS Express - handling 404 (Not Found) and 405 (Method Not Allowed) separatedely
我正在尝试找到一种方法来处理我的 Express 应用程序中的 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 错误的路径声明。
例如,在您的账户中路由:
server.get('/account', ....);
server.post('/account', ...);
server.all('/account', (req, res, next) => {
res.status(405).send('Method not allowed');
});
如果您收到 /account 路径的 get 或 post,它将使用您的方法进行处理。其他方法将以405代码响应。
没有实现的路径express默认会发一个404码,我觉得你不需要实现
我正在尝试找到一种方法来处理我的 Express 应用程序中的 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 错误的路径声明。 例如,在您的账户中路由:
server.get('/account', ....);
server.post('/account', ...);
server.all('/account', (req, res, next) => {
res.status(405).send('Method not allowed');
});
如果您收到 /account 路径的 get 或 post,它将使用您的方法进行处理。其他方法将以405代码响应。
没有实现的路径express默认会发一个404码,我觉得你不需要实现