我有一个关于在web API中返回错误的问题。这个Web API通常是从javascript(一个网站)调用的。 返回错误有两种可能性,一种是将它们作为字符串返回,另一种将它们作为整数错误代码返回。返回Web API中的错误:错误整数代码或错误字符串?
返回错误的错误代码的例子JSON:
{
"status" : "Error",
"error" : 30
}
一个例子JSON返回错误作为错误字符串:
{
"status" : "Error",
"error" : "ERR_INVALID_FILENAME"
}
你认为什么是最好的方法?我在想,错误字符串选择比较好,因为以下几点:
错误字符串选择改进代码的可读性和可维护性,通过诱导自注释代码。 由于,而在错误代码的方法时,JavaScript开发这样写:
在错误字符串的方法if (result.error == 30) { do something related to files and invalidness...}
,JavaScript的开发会写:
if (result.error == "ERR_INVALID_FILENAME") { do something related to files and invalidness...}
在盛大浏览器渲染,HTML DOM操作和AJAX HTTP请求处理,这个小小的错误字符串检查是微不足道的开销。虽然在C++或C#应用程序中,我们显然会使用枚举,但我们在两个独立的实体(如web api和网站)中没有这样的选择,并且成本收益似乎是合理的。
感谢您的输入。
我同意你的意见,但这个问题可能更适合软件工程社区。 – jorgonor
@Itay你有没有达到任何解决方案? –
@JoseFrancis只有两个意见,我希望这个问题有更多的答案。 我最近几天想到的另一个额外的输入是在API中,错误(即使它们在JSON化时被串化)应该驻留在枚举中,并且应该强类型化(以便可以检查它在编译时)。 –