私は@Validatedで注釈が付けられたサービスクラスを持っています。 このクラスでは、@Validで注釈を付けられた引数を持つメソッドがあります。 引数が有効でない別のクラスインスタンスからメソッドが呼び出された場合、例外がスローされます。 予想通り、タイプConstraintViolationExceptionのエラーがスローされます。Springサービスメソッドのバリデーション
このメソッドを別のサービスメソッド(内部呼び出し)から呼び出すと、検証は行われず、メソッド本体にエラーが発生します。 これは私が望むものではありません。明らかに、内から発信された通話は検証されません。 問題を調べると、メソッドがSpringプロキシBeanを使用して呼び出されていないことがわかりました。 Iは(@Autowired)アプリケーションコンテキストからプロキシを取得することによって問題を修正し、プロキシを使用してメソッドを呼び出す:
((T) context.getBean(this.getClass()).myMethod(validatedArgument)
これは醜いソリューションです。 内部からのメソッド呼び出しが有効になるようにSpringを設定するにはどうすればよいですか?
残念ながら、Springではこれを許可していません。 –