Spring Bootの勉強をしていて少し躓いたことがあったので備忘録として記載します
前提
数年ぶりにSpringを触っているレベルです
以下の書籍の6章をそのままやっているとハマる問題かと思います
Spring 解体新書(第2版)Spring Bootが丸分かり
環境
・Spring Boot2.6.6
ハマったこと
@GroupSequenceに2つのクラスを設定した時、
2つ目に設定したバリデーションの実行タイミングが初見でわからなかった
Order.java
@GroupSequence({ValidGroup1.class, ValidGroup2.class})
public interface Order {
}
上記のような定義を行っている場合、
ValidGroup1に定義した入力チェックをすべて通過した後にValidGroup2のチェックが実行される
以下のような区分けで実装を行った場合、必須チェックをすべて通過してからでないとValidGroup2のチェックは実施されない
- ValidGroup1:必須チェック
- ValidGroup2:入力値のフォーマットチェック
おわり
以下の記事で同じ質問をしている方がいました
teratailより
回答者の方がおっしゃている内容が記載されているリファレンスを見つけることができなかったのですが、この手の仕様ってどこで確認すればいいのでしょうか?
ご存知の方いましたら、コメントいただけると喜びます。