Node.js 如何为所有响应添加中间件?(express.js)

Node.js 如何为所有响应添加中间件?(express.js),node.js,express,middleware,Node.js,Express,Middleware,我的目标是检查所有200个状态响应,如果数据为空,则检查数据。我必须将此请求更改为404错误。可以用快递吗 背景 app.use("/api/tobaccos", tobaccos); app.use(function(err, req, res, next) { console.error(err.message); }); api: 我正试图为这样的应用程序添加中间件,但它不起作用 app.use(function(err, req, res, next) {

我的目标是检查所有200个状态响应,如果数据为空,则检查数据。我必须将此请求更改为404错误。可以用快递吗

背景

app.use("/api/tobaccos", tobaccos);

app.use(function(err, req, res, next) {
  console.error(err.message);
});
api:

我正试图为这样的应用程序添加中间件,但它不起作用

app.use(function(err, req, res, next) {
  console.error(err.message);
});
app.get('*', function(req, res){
  res.status(404).send('what???');
});
或者这不起作用

app.use(function(err, req, res, next) {
  console.error(err.message);
});
app.get('*', function(req, res){
  res.status(404).send('what???');
});
怎么了?有可能吗?

你可以用这个

app.use((err, req, res, next) => {
    console.log('err: ', err);
    res.status(err.hasOwnProperty('status') ? err.status : 500);
    res.json({
        message: err.hasOwnProperty('errors') ? err.errors : err.toString()
    });
});   

catch块抛出的任何错误都将处理

您通读了吗?是的。但是仍然找不到如何在这个方法中获取数据,所以我没有错误。中间件是关于向系统的任何部分添加代码,我正在为这个应用程序应答。使用(函数(err,req,res,next){console.error(err.message);});