プロジェクトに対してSpring 5を評価しており、Mono
パラメータを検証する最良の方法がわかりません。伝統的に、私たちは以下のように私たちのメソッドパラメータを検証するためにMethodValidationPostProcessorを使用していました:Spring Reactiveを使用する際にMonoを検証する方法
@Validated
@Service
public class FooService
@Validated(SignUpValidation.class)
public void signup(@Valid UserCommand userCommand) {
...
}
私たちは、その後、ControllerAdvice
かErrorController
で例外を処理し、クライアントに適したの4xx応答を渡します。
ただし、パラメータをMono
に変更すると、以下のように機能しなくなります。
@Validated
@Service
public class FooService
@Validated(SignUpValidation.class)
public Mono<Void> signup(@Valid Mono<UserCommand> userCommand) {
...
}
私がSpring Reactiveを理解しているように、おそらく実際には動作していないはずです。だから、Mono
とFlux
を検証し、適切なエラー応答を送信するためのSpring 5のベストプラクティスは何でしょうか?
はありがとうを!私の質問をMonoに編集しました。私は '@ Valid'がコントローラで働いているのを見ましたが、検証グループ、 '@Validated(SignUpValidation.class)'は動作しません。また、 'MethodValidationPostProcessor'(上記の私の例を参照)を使ってサービスメソッドを検証することはできません。ところで、私はあなたが言及した参考資料を見つけることができませんでした(「参考資料に記載されているように、Spring WebFluxは検証をサポートしています」)。それはどこですか? –
Sanjay
私は検証グループがWebFluxでサポートされているとは思いません。これは、公式問題追跡ツール(jira.spring.io)を呼び出す価値があるかもしれません。参照ドキュメントの関連セクションには、入力パラメータの検証のみが記載されています。https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/web-reactive.html#webflux-config-validationを参照してください。 –