Javaで独自の注釈によるパラメーター検証を作成する方法
Javaでは、カスタムアノテーションでパラメータのバリデーションを行うことができます。以下に簡単な例を示します。
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.PARAMETER)
public @interface Validated {
int minValue() default 0;
int maxValue() default Integer.MAX_VALUE;
}
上記の例では、Validatedというアノテーションを定義しています。アノテーションはminValueおよびmaxValueという2つのプロパティを持ち、それぞれのデフォルト値は0およびInteger.MAX_VALUEです。
次に、パラメータ検証が必要なメソッドに当該アノテーションを付与します。
public class SampleClass {
public void process(@Validated(minValue = 1, maxValue = 100) int value) {
// 对参数进行校验
if (value < 1 || value > 100) {
throw new IllegalArgumentException("Invalid value");
}
// 执行其他操作
}
}
上記の例では、processメソッドは@Validatedアノテーション使用し、minValueとmaxValueの属性値を1と100に指定しています。メソッド内では、引数の値が条件を満たしているかどうかを判断することにより検証を行うことができます。
これは単なる簡単な例です。必要に応じて、より複雑なアノテーションと検証ロジックを定義できます。ただし、アノテーション自体は検証を実行せず、コンパイラやその他のツールにパラメータに特定の処理を実行することを示すフラグであることに注意してください。実際の検証ロジックは他の方法で実装する必要があります。