2013-02-15 84 views
2

如果Robustness Principle要保守你的所作所爲,在自己接受別人時採用自由)是否應用於API?健壯性原則和API

舉個例子,我已經看到了處理用戶參數的API,如限制,在以下兩種方法之一:

限制是結果的最大數量返回,如果用戶輸入的限制的字母'x',因爲輸入不是數值,所以一些API會引發驗證錯誤,其他API會簡單回落到默認限制(例如:1000)。

對於如何處理此類用戶輸入,您有何建議?拋出一個有用的和描述性的驗證錯誤,或者優雅地清理輸入並繼續處理請求?

回答

1

只要你清楚地記錄你要做什麼,這兩種方式都沒有太大的區別。你在這種情況下的行爲很大程度上取決於具體的領域和數據類型。例如,對於數字值,您可以將默認值設置爲1000,但如果使用無效的時間戳,您會做什麼?

對於極限值,我會降級爲默認值(無論您使用什麼值,如果它根本沒有包括在內),但是您應該清楚地記錄您的API將如何爲每個字段表現出來(無論是需要的,默認的值等)。如果記錄清楚,您的用戶將(應該)能夠以任何方式正確使用它。