www.example.com/anystringなど、コンテキストの後に任意の文字列を処理するリクエスト マッピングがあります。
以下のように扱っています。
@RequestMapping(value="/{str}", method = RequestMethod.GET)
public String getApp(@PathVariable("str") String anyString, ModelMap model) {
//Do something
}
問題は、URL がwww.example.com/about、www.example.com/contactなどであるアプリに 2 ~ 3 個の URL があることです。
次のようにリクエスト マッピングを作成しました。
@RequestMapping("/about")
public String getAboutPage() {
return "about";
}
しかし明らかに、任意の文字列を で処理する必要があることを既に宣言しているためgetApp()
、getAboutPage()
が実行されることはありません。などをマッピングから除外する/about
にはどうすればよいですか。もちろん、別のキーワードを URL 文字列に追加することもできますが、私のアプリのユース ケースでは不可能です。親切に助けてください。:(/contact
getApp()
編集:
内部のよう/about
に処理する必要があります:/contact
getApp()
@RequestMapping(value="/{str}", method = RequestMethod.GET)
public String getApp(@PathVariable("str") String anyString, ModelMap model) {
if(anyString.equals("about")){
//do about related stuff
}
if(anyString.equals("contact")){
//do contact related stuff
}
//Do something
}
より良い方法はありますか?