我必須設計一個DAO,可以調用REST WS。 此WS必須從給定的用戶名和密碼中返回用戶憑證。Rest Dao設計和異常處理
案例1:找到用戶=> REST WS發送http代碼200和憑證響應。
情況2:未找到用戶=> REST WS發送http代碼400和一個包含原因的錯誤對象。
案例3:找到了用戶但他的帳戶被禁用了=> REST WS發送了http代碼400和錯誤對象與原因。
案例4:REST WS不可
什麼是我的DAO映射REST WS響應的最佳方式?
1 - 我在我的DAO中拋出funtionnal checked異常來處理錯誤對象的情況,並且我在正常情況下返回憑證響應對象。當REST WS不可用時,我拋出未經檢查的異常
2 - 我不會在我的DAO中拋出任何函數異常,因爲它是服務層的工作。我返回REST WS返回的內容,例如包裝對象中的憑證響應和錯誤響應,例如,我讓服務層檢查這些對象以執行正確的工作。當REST WS不可用時,我拋出一個未經檢查的異常
3 - 我只對錯誤情況拋出未經檢查的異常,並讓服務層決定如何處理它。我只返回憑證響應。
非常感謝您提前。
好的,謝謝,併爲檢查VS選中的選擇?爲什麼1而不是3? – rico
我的_個人首選項總是在服務層可以做一些值得做的事情時進行檢查。這迫使服務層dev真正考慮當用戶沒有找到時會發生什麼,等等。 99%的時間一些業務規則將決定一些特殊的邏輯應該發生。根據我的經驗,對'未找到'類型條件進行未檢查通常只會在運行時結束於NPE。我真的很喜歡編譯時間檢查。 – Brad