プロパティファイルで定義することにより、Springで@RequestMapping
アノテーションの値を定義することは可能ですか?
実際、私は次のようなことをしています:
@Controller
@RequestMapping("/xxx")
public class MyController {
...
}
しかし、パス/xxx
をプロパティファイルに保存したいと思います。どうして?たとえば、コントローラのパスの名前を変更すると、テンプレートで問題が発生する可能性が低くなります。
他のフレームワークではこれが許可されています(例えばSymfonyを参照)。
たとえば@RequestMapping("${foo.bar}")
のように、@RequestMapping
でプレースホルダーを使用できるようにする必要があります。詳細は documentation をご覧ください。
@RequestMapping
アノテーションのパターンは、ローカルプロパティやシステムプロパティ、環境変数に対して${…
}プレースホルダーをサポートします。これは、コントローラーがマップされているパスを構成によってカスタマイズする必要がある場合に役立ちます。プレースホルダーの詳細については、PropertyPlaceholderConfigurerクラスのjavadocsを参照してください。
助けていただきありがとうございます。それは私の貢献です... mavenがすべてを単独で行うため、依存関係は必要ありません。
プロパティファイルで、以下のようなmaven補間を使用します。
vs= v1
us= users
me= messages
url.user=${vs}/${us}
url.mess=${vs}/${me}
あなたの運命のファイル、例えば(mycaseの)コントローラ/リソース:
@RestController
//@RequestMapping("v1/users") <<<<<<instead this
@RequestMapping("${url.user}")<<<<<<use this
@Api(value = "API RESTFUL)
public class UserResource {
//