我正在使用 Spring 开发服务。作为其中的一部分,我有一个处理一个特定对象的控制器类(假设它是 Obj1)。我在控制器类中有 3 个方法。
- 从数据库中获取所有 Obj1 的一种方法(不需要验证)。
- 一种将新 Obj1 保存到数据库的方法(在这种情况下,Obj1 中的 ID 字段应为 0)。
- 更新现有 Obj1 的另一种方法(在这种情况下,ID 字段应大于 0)。
我有一个实现验证器接口的类。我使用这个类来执行所有的验证。让我们称之为 Obj1Validator。
如何根据实现验证器接口的类中调用的控制器方法执行验证?
我知道我可以注释对象属性并使用组和验证注释来执行这种验证,而不是使用验证器接口来执行。或者我可以使用部分注释和部分验证器方法。
然而,我试图用一个简单的场景来解释我的验证要求,尽管实际上我需要执行的验证要复杂得多,因此我必须使用 Validator 接口而不是基于注释的验证。
有人可以告诉我如何处理这种情况吗?或者有什么方法可以在 Obj1Validator 中获取 @validated(group="x") 中提到的组,在这种情况下,我可以轻松地执行基于方法的验证。