リクエストマッパーを使用して、次のような URL に一致させようとしています。
http://localhost:9999/si/configs/some/path/on/the/server/file.xml
このようにコントローラーをセットアップしましたRequestMapping
が、findConfig
メソッドの値が正しくありません。これが私のコードです(無関係なものはすべて削除されています):
@Controller
@RequestMapping("/si/configs")
public class SIController {
@RequestMapping(value = "{path:/**/*.xml}", method = RequestMethod.GET)
public ResponseEntity<String> findConfig(@PathVariable("path") String path) {
// value of path arg should be: "/some/path/on/the/server/file.xml"
}
}
Spring では、パスに一致する文字列に正規表現を使用できることを知っています。この質問のアドバイスに従おうとしました: Spring URI Template Patterns with Regular Expressionsですが、これを正しく取得できないようです。
リクエスト マッピングには何を入れる必要がありますか?
編集
パス変数を削除してこれを使用すると:
@RequestMapping(value = "/**/*.xml", method = RequestMethod.GET)
public ResponseEntity<String> findConfig() {
}
コントローラー メソッドが期待どおりに呼び出されます。そのため、春が好まない野生のクラッドとパス変数を一致させようとすることには何かがあります。