【问题标题】:Overwrite default error messages of loopback覆盖loopback的默认错误信息
【发布时间】:2017-07-24 03:52:40
【问题描述】:

我正在尝试覆盖来自环回的默认错误消息。我就是这样做的:

服务器/中间件.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": {}
  }
}

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

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

在覆盖之前,我需要先截取错误信息,但我不知道如何...

谢谢!

【问题讨论】:

    标签: javascript node.js strongloop loopback


    【解决方案1】:

    您可以访问您的错误消息并将其覆盖如下

    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 
    };
    

    错误对象的其他属性是

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

    【讨论】:

      猜你喜欢
      • 2011-02-25
      • 2010-12-01
      • 2019-03-20
      • 2017-05-15
      • 2011-06-22
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      • 2016-06-23
      相关资源
      最近更新 更多