简体   繁体   English

覆盖回送的默认错误消息

[英]Overwrite default error messages of loopback

I'm trying to overwrite the default error messages from loopback. 我正在尝试覆盖环回的默认错误消息。 That's how i'm doing: 这就是我的做法:

server/middleware.json: server / middleware.json:

{
  "initial:before": {
    "loopback#favicon": {}
  },
  "initial": {
    "compression": {},
    "cors": {
      "params": {
        "origin": true,
        "credentials": true,
        "maxAge": 86400
      }
    },
    "helmet#xssFilter": {},
    "helmet#frameguard": {
      "params": [
        "deny"
      ]
    },
    "helmet#hsts": {
      "params": {
        "maxAge": 0,
        "includeSubdomains": true
      }
    },
    "helmet#hidePoweredBy": {},
    "helmet#ieNoOpen": {},
    "helmet#noSniff": {},
    "helmet#noCache": {
      "enabled": false
    }
  },
  "session": {},
  "auth": {},
  "parse": {},
  "routes": {
    "loopback#rest": {
      "paths": [
        "${restApiRoot}"
      ]
    }
  },
  "files": {},
  "final": {
    "loopback#urlNotFound": {}
  },
  "final:after": {
    "loopback#errorHandler": {},
    "errorHandler": {}
  }
}

server/middleware/error-handler.js: 服务器/中间件/error-handler.js:

module.exports = (error, req, res, next) => {
  console.log('a')
};

Before overwrite, i need first intercept the error message, but i'm not getting how... 在覆盖之前,我需要首先拦截错误消息,但是我不知道如何...

Thanks! 谢谢!

You can access your error message and overwrite it as below 您可以访问错误消息并按如下所示覆盖它

module.exports = (error, req, res, next) => {
  console.log(error.message); // logs out original error message
  error.message = 'Your Custom Error message'; // this will overwrite the error message
  next(error); // this is important 
};

Other properties of the error object are 错误对象的其他属性是

statusCode, name, stack & also details, messages if applicable

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM