今回は、MessageSourceを使ってメッセージを取得する方法について調べてみようと思います。
message.properties作成

- message.propertiesはapplication.ymlと同じ位置に作成します。

- メッセージを追加しましょう
- メッセージコードとメッセージを定義します。
MessageSource DI

- 使用したいコントローラーでDIします。
- DIするには@Autowiredを使ったDIとかもあるかと思いますが、自分は@RequiredArgsConstructorを使ってDIしています。
- @RequiredArgsConstructor:private finalフィールドに対してDIしてくれるアノテーション
メッセージ取得

- メッセージ取得にはgetMessageメソッドを使います。
- 3つの引数がありますが、各引数は以下となります。
- 1番目:message.propertiesのコード
- 2番目:メッセージが{0}のような形の場合、{0}に入れたい文字列の配列を渡します。
- 3番目:ルックアップを実行するロケール
終わりに
メッセージを取得時に2番目、3番目の引数にNullを渡すのが重複だったり、可視性が悪いと思うので、MessageHelper?みたいなクラスを作成してコードだけ渡してクラス内で2番目、3番目の引数にnullを設定してくれるロジックを定義して使うのが良いかと思います。
