使用Spring验证器接口进行基于方法的验证

时间:2015-05-28 15:37:24

标签: java spring validation spring-validator spring-restcontroller

我正在使用Spring开发服务。作为其中的一部分,我有一个处理一个特定对象的控制器类(让我们假设它是Obj1)。我在控制器类中有3个方法。

  1. 从数据库中获取所有Obj1的一种方法(无需验证)。
  2. 将新Obj1保存到数据库的一种方法(在这种情况下,Obj1中的ID字段应为0)。
  3. 更新现有Obj1的另一种方法(在这种情况下,ID字段应大于0)。
  4. 我有一个实现验证器接口的类。我使用这个类来执行所有验证。让我们称之为Obj1Validator。

    如何根据实现验证器接口的类中调用的控制器方法执行验证?

    我知道我可以注释对象属性并使用验证的注释来执行此类验证,而不是使用它验证器界面。或者我可以使用部分注释和部分验证器方法。

    但是,我尝试使用一个简单的场景解释我的验证要求,但实际上我需要执行的验证要复杂得多,因此我必须使用Validator接口而不是基于注释的验证。

    有人可以告诉我如何处理这种情况?或者是否有任何方法可以在 Obj1Validator 中的 @validated(group =“x”)中找到该组,在这种情况下,我可以轻松地执行基于方法的验证。

0 个答案:

没有答案