【问题标题】:Service/data layer exception handling in express validator快速验证器中的服务/数据层异常处理
【发布时间】:2021-09-10 17:53:30
【问题描述】:

我已经构建了一个通过 express 验证器的验证链传递请求的应用,但我遇到了与日志记录和错误处理相关的设计问题。

我的应用分为不同的控制器/服务/存储库。在 repos 和层中抛出的所有错误都会冒泡到控制器,控制器通过调用 next() 来处理错误并将它们传递给记录日志的错误处理中间件等。

问题是我的一个验证链调用了一个 repo。如果我的数据库连接失效,我在日志中得到的只是我碰巧放入验证链的 withMessage() 中的内容。

我希望在这种情况下获得更好的事件日志,但现在由于没有控制器来捕获错误,因此死数据库连接以日志上的 400 Bad request 结束。

任何想法我应该如何构建我的应用程序来解决这个问题?

我不想仅仅因为我使用 express 验证器作为中间件而在服务/数据层上添加特定的日志记录。

【问题讨论】:

    标签: node.js express express-validator


    【解决方案1】:

    我更深入地研究了每一层的职责,得出的结论是,对数据层的调用不应该使用 express-validator 来完成。例如,与电子邮件是否已注册相关的逻辑应该发生在服务层上,如下所示: In which layer should validation be performed?

    我将仅使用 express 验证器进行简单检查,并将其余部分放入我的服务层。

    【讨论】:

      猜你喜欢
      • 2015-06-06
      • 2022-10-13
      • 1970-01-01
      • 1970-01-01
      • 2016-03-09
      • 1970-01-01
      • 2020-01-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多