我有一个 DAO,它调用 REST WS。为了防止WS发送无效数据,我想实现一个 validator 。
我必须在哪里实现它?
1 - 在 dao 层,DAO 对象内部。
2 - 在 dao 层但在单独的类中,因为 DAO 必须只执行 CRUD
3 - 在服务层
其他问题:我想在发生无效数据时抛出异常。
选中还是未选中?
我准确地说,我使用 Spring Security,当我调用我的服务时,我将必须捕获此异常,以便将其转换为 AuthenticationException spring 异常。
非常感谢。
最佳答案
这取决于谁拥有验证从 WS 发回的数据所需的知识。如果服务具有相关知识(可能是因为它首先创建数据,但不保证),则让服务完成验证。它可以像普通的 java 组件那样抛出验证失败的异常(当它出现在客户端时,它会被包装在 SoapException 中)。
如果验证规则只有客户端知道,那么我会编写另一层并从 DAO 中调用它。
关于java - 在哪一层实现 validator dao 响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7128079/