代码之家  ›  专栏  ›  技术社区  ›  qed59

将CRUD操作结果传递给控制器的最佳实践

  •  0
  • qed59  · 技术社区  · 4 年前

    我正在尝试编写一个使用Web API执行CRUD操作的应用程序。它使用ADO.Net作为SQL存储库来完成所有的CRUD操作。 在执行CRUD时,任何异常都可能发生,我希望将这些异常传递回Web API控制器。

    我正在考虑创建一个名为OperationResult的类,该类将具有用于表示成功或失败的布尔字段和用于保存异常错误消息的消息字段。

    我只是想知道是否已经有一些将成功/失败CRUD操作和错误消息传递到控制器的最佳实践。如果成功,我通过Ok(),如果没有找到数据,我通过Notfound(),等等。

    谢谢

    0 回复  |  直到 4 年前
        1
  •  0
  •   Jason Pan    4 年前

    您可以创建一个客户中间件来捕获错误日志。

    如果你想让错误更具体,你所要做的就是在全局捕获块之前添加另一个特定的捕获块(FileNotFoundException或SqlException等)。

    因此,在您的情况下,我认为我们可以判断SqlException的错误编号并返回错误消息。

    参考博客: Global Error Handling in ASP.NET Core Web API