Javascript 在Web API中返回错误:错误整数代码还是错误字符串?
我有一个关于在web API中返回错误的问题。此web API通常从javascript(网站)调用。 返回错误有两种可能,一种是以字符串形式返回错误,另一种是以整数错误代码形式返回错误 返回错误作为错误代码的示例:Javascript 在Web API中返回错误:错误整数代码还是错误字符串?,javascript,json,api,asp.net-web-api,error-handling,Javascript,Json,Api,Asp.net Web Api,Error Handling,我有一个关于在web API中返回错误的问题。此web API通常从javascript(网站)调用。 返回错误有两种可能,一种是以字符串形式返回错误,另一种是以整数错误代码形式返回错误 返回错误作为错误代码的示例: { "status" : "Error", "error" : 30 } 将错误作为错误字符串返回的示例: { "status" : "Error", "error" : "ERR_INVALID_FILENAME" } 你认为什么是最好的方
{
"status" : "Error",
"error" : 30
}
将错误作为错误字符串返回的示例:
{
"status" : "Error",
"error" : "ERR_INVALID_FILENAME"
}
你认为什么是最好的方法?我认为错误字符串选择更好,因为:
- 错误字符串选项通过引入自注释代码来提高代码的可读性和可维护性。
因为,在错误代码方法中,javascript开发人员会编写:
在错误字符串方法中,javascript开发人员将编写:if(result.error==30){执行与文件和无效性相关的操作…}
if(result.error==“ERR\u INVALID\u FILENAME”){执行与文件和无效性相关的操作…}
- 在浏览器呈现、HTMLDOM操作和AJAX HTTP请求处理的总体方案中,这个小错误字符串检查的开销微不足道。而在C++或C语言应用中,我们显然会使用枚举,我们在两个独立的实体中没有这样的选择,例如Web API和网站,并且成本回报似乎是合理的。
为了回答您关于“字符串或整数错误代码”的问题,字符串选项更可取,并且在代码透视图中足够好,除此之外,在JS中处理错误和显示正确的消息不能被视为成本或开销 作为一项改进,我建议您可以发送适当的HTTP状态代码,如
200表示成功,400表示错误请求等,以便在整个应用程序中使用
如果您希望客户端应用程序检测到来自API的特定错误,您可以将包含错误状态和代码的模型包含在HttpResponseMessage()
的“数据部分”中,这样您就不必总是检查错误代码 我同意你所说的,但这个问题可能更适合软件工程界。@Itay你找到解决方案了吗?@JoseFrancis只有两个观点,我希望这个问题有更多的答案。最近几天我考虑的另一个额外输入是,在API中,错误(即使在JSONified时被字符串化)应该驻留在枚举中,并且应该是强类型的(以便可以在编译时检查)。