【问题标题】:Intercepting error handling with loopback使用环回拦截错误处理
【发布时间】:2016-10-24 15:51:03
【问题描述】:

是否有关于环回错误处理的完整、一致和有据可查的信息来源?

错误代码及其含义,与 http 状态的关系。我已经阅读了他们的文档,但没有找到类似的东西。

我想翻译所有消息,为我的应用添加多语言支持。我还想添加我的自定义消息及其代码,并与其他环回错误一致地使用它。

为了实现这一点,我需要拦截所有错误(我已经这样做了)并了解所有可能的不同代码,以便我可以翻译它们。

例如,如果代码555出现错误,我必须知道它的含义并相应地处理它。

有什么想法吗?

【问题讨论】:

  • 你能举个实际的例子吗?
  • 我刚刚编辑了我的问题并阐明了我的真正重点(错误消息/代码自定义)
  • 我想我知道发生了什么。能否也显示server/model-config.json的内容来确认?
  • 您到底想看什么?我的 model-config.json 非常标准,由环回生成。我需要自定义错误处理...
  • 整个文件。我怀疑您缺少一些模型,例如访问令牌模型,这就是为什么环回会到处乱扔 500

标签: loopbackjs


【解决方案1】:

我需要“捕捉”所有消息并翻译它们

这是答案的开始。您可以编写一个错误处理中间件,该中间件将拦截服务器返回的任何错误。您将需要依次实现进行翻译的逻辑。

module.exports = function() { 
   return function logError(err, req, res, next) { 
      if (err) {
        console.log('ERR', req.url, err);
      }
      next();
   };
};

此中间件必须配置为在final 阶段调用。比如把上面的代码保存在log-error.js中,然后修改server/middleware.json

{ "final": { "./middleware/log-error": {} } }

我需要完整的环回代码/消息列表

我很确定没有这样的事情。错误在代码中的各处生成和返回,而不是集中在任何地方。

【讨论】:

  • 这没有解决任何问题,我知道这些页面。请再次仔细阅读我的问题。我需要知道所有可能的错误代码,以便翻译它们并完全控制它们。我总是可以毫无问题地创建自定义错误,但是对于我不知道的各种内置错误我该怎么办?
  • 你知道我是唯一一个试图解决你问题的人吗?
  • 特别是因为显然您还没有点击第一个链接。错误代码 555 不存在,它不是有效的 HTTP 状态代码。环回将返回的所有错误代码都是 HTTP 状态代码。
  • 现在,如果您的问题是翻译环回可能引发的所有错误 MESSAGES,那么您可能对 strong-globalize 感兴趣。
  • 对不起语气。我不是在寻找特定错误消息的原因,而是为了了解一般的错误处理机制。我需要“捕捉”所有消息并翻译它们。我需要一个完整的环回代码/消息列表,所以我可以做到...无需使用外部工具。
猜你喜欢
  • 2016-09-20
  • 1970-01-01
  • 2020-11-28
  • 1970-01-01
  • 2022-08-16
  • 2016-03-03
  • 1970-01-01
  • 2018-11-04
  • 2022-11-20
相关资源
最近更新 更多