我希望得到關於體系結構問題的專家解釋。想象一下Spring MVC webapp,帶有驗證API(JSR 303)。因此,對於請求,我有一個處理請求的控制器,然後將它傳遞給服務層,該層傳遞給DAO服務層。N層體系結構和單元測試(使用Java)
這是我的問題。驗證發生在哪一層,以及如何進行驗證?
雖然我的控制器必須處理基本驗證(必填字段爲空嗎?字段長度是否正確?等等)。然後服務層可以做一些比較常用的東西,涉及其他的東西。 DAO根本沒有驗證。但是,如果我想實現一些單元測試(即服務下面的測試層,而不是控制器),那麼最終會出現意外的行爲,因爲一些驗證應該在Controller層完成。由於我們不使用它進行單元測試,所以存在一個問題。
處理這個問題的最佳方法是什麼?我知道沒有普遍的答案,但您的個人經歷非常受歡迎。
非常感謝。 此致敬禮。