我正在构建一个开源库来与公共API进行交互。 API验证传递给它的所有数据,并在失败时正确返回非200状态代码,通常是失败消息,导致我的库抛出异常。
我的一些方法会检查所需的参数,但大多数情况下我决定在将数据传递给API之前不验证数据。
API的库是否也应该验证数据?如果是这样,到什么程度?它应该尝试完全验证所有数据还是只验证所需参数是否存在?
答案 0 :(得分:1)
规则有两个部分:在输入时,是一个接受爱的祖母:接受调用者给你的东西,而不是在界面公约上的粘合剂,在它没有什么区别;或者您可以提供合理的默认值。在输出时,遵循约定的惯例:做一个严格的学究,一个马丁。
因此,在我看来,答案是肯定的,您应该检查调用者的输入并为API提供最佳数据。但这并不一定意味着你应该复制API无论如何要做的验证。
你必须用头脑思考什么才有意义。