在 Web API 中存储(不记录)REST 错误消息的最佳方式 ASP.NET



假设我们有一个 ASP.Net 的Web API服务器,我们返回给客户端的所有错误都包括以下属性:

  • 错误代码(REST 自定义错误代码)
  • HTTP
  • 状态(HTTP 标准代码)
  • 错误消息(错误夏季)
  • 错误详细信息(可选)

我只是想知道存储这些错误消息(不是日志记录)的最佳方法,以便稍后检索并将其返回给客户端(通过 JSON),以防异常。几个建议的答案:

  • 资源文件 (.resx)
  • 数据库
  • 内部代码

如果您已正确记录它,那么将它们存储在代码中总是比从任何数据存储中获取更快。

在 resx 和代码中存储自定义错误代码模型的一些优点。

  1. 错误字符串可以在 resx 中,优点是它们可以本地化,并且与数据库查找相比,获取速度更快。
  2. 在API世界中,通常您会返回一些失败或成功的HttpStatus代码,您提到的示例只是错误响应的一部分。此错误响应基于代码的逻辑,因此要返回给客户的 ErrorCode 可以是映射到与错误字符串连接的 httpstatuscode 的常量

你的意思是如何记录它们吗?这样做的两种主要方法是:

  1. 记录到 CSV 文件
  2. 记录到数据库

这些被认为是最佳做法。CSV的优点是它们很便宜。CSV 的缺点是它们之后可能很难查询/过滤,尤其是当您记录到单独的文件时。

在数据库中,优点是过滤能力,但缺点是它很昂贵。

最新更新