实现 Java 入参优雅校验教程

整体流程

下面是实现 Java 入参优雅校验的整体流程:

步骤 描述
1 创建校验注解
2 编写校验器
3 在入参对象上添加校验注解
4 在方法中使用校验

步骤详解

步骤1:创建校验注解

首先,我们需要创建一个校验注解,这个注解可以添加在入参对象的字段上,用来定义字段的校验规则。

@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Check {
    String value() default "";
}

步骤2:编写校验器

接下来,我们编写一个校验器,用来实现校验逻辑。这个校验器可以根据注解定义的规则对入参对象进行校验。

public class ParamValidator {
    public static void validate(Object param) {
        // 获取参数类的所有字段
        Field[] fields = param.getClass().getDeclaredFields();
        for (Field field : fields) {
            // 判断字段是否有 @Check 注解
            if (field.isAnnotationPresent(Check.class)) {
                // 获取字段值
                field.setAccessible(true);
                try {
                    Object value = field.get(param);
                    // 执行校验逻辑
                    String rule = field.getAnnotation(Check.class).value();
                    // 根据规则校验字段值
                    // 这里可以根据具体规则自定义校验逻辑
                } catch (IllegalAccessException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

步骤3:在入参对象上添加校验注解

在入参对象的字段上添加刚刚创建的校验注解,定义字段的校验规则。

public class UserParam {
    @Check("required")
    private String name;

    @Check("minLength:6")
    private String password;

    // 省略其他字段及其 getter/setter 方法
}

步骤4:在方法中使用校验

最后,在方法中使用校验器对入参对象进行校验。可以在方法的入口处调用校验方法。

public void createUser(UserParam param) {
    ParamValidator.validate(param);
    // 执行创建用户的逻辑
}

状态图

stateDiagram
    [*] --> 创建校验注解
    创建校验注解 --> 编写校验器
    编写校验器 --> 在入参对象上添加校验注解
    在入参对象上添加校验注解 --> 在方法中使用校验
    在方法中使用校验 --> [*]

通过上面的步骤,你可以实现 Java 入参优雅校验的功能。希望这篇文章对你有帮助!