スキップしてメイン コンテンツに移動

Quarkusとmicroprofileで動的にアクセス先リソースURLを置き換え

Quarkusでアプリを書いている。

そうすると、自然とmicroprofileを使用した状態になる。
前回Java関連で書いたWebAPIクライアントにつながる話だけど、接続する対象のURLは変わりうるので、環境変数などで差し込めるようにしたいというニーズがあった。
例えばこういう例で、application.propertiesで次のように定義すれば、該当のFoodsApiクラスが接続する先は"https://foods.example.com"にできることは確認済だった。
application.propertiesに定義できるものは基本的に全て環境変数からも差し込めるようになっているはず、なので、今回はそれを実現してみた。

myapp.resources.FoodsApi/mp-rest/url=http://foods.example.com

で純粋な疑問として、スラッシュ"/"とかハイフン"-"とかはどう扱えばいいのだろう、という話。
そこで次のリンクに、制約や置き換えのルールが書いてある。雑に言えば、記号は全てアンダースコア"_"にするし、小文字は全て大文字にする、とのこと。(Quarkusのガイドから飛べるGitHub上のMicroprofileの説明がわかりやすい)

なので、上記の例なら後から差し込む場合は、次のような感じ。もちろん、FOOFSAPIをFoodsApiと書いててもmicroprofileの探索ルールに基づいて探してもらえるので問題ない。

export MYAPP_RESOURCES_FOODSAPI_MP_REST_URL=http://newfoods.example.com

使い始めるまで少しだけ困惑するけど、わかれば難しくないし、とても便利。