java - 在哪一层实现 validator dao 响应?

标签 java validation service exception dao

我有一个 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/

相关文章:

java - 添加检查以验证该字段没有收到某种类型的字符

validation - Grails命令对象验证给出异常而不是错误

使用 react 形式验证 Angular 和 froala 编辑器

java - spring框架中根据实体对象调用不同的Service api

java - 在 Java 中从 WebService 返回一个 ArrayList

java - 在特定选项卡中启动 Android 应用程序

java - 如何在 XSLT 之后保留空 XML 标记 - 防止将它们从 <B></B> 折叠到 <B/>

r - 使用一组规则的多列方差

c# - 当类在服务项目中时,最小起订量在不可覆盖的成员上抛出无效设置

java - Apache Storm 拓扑上的 Sigar UnsatisfiedLinkError