メソッドで複数の@RequestMappingスプリングアノテーションを使用することは可能ですか?のような:
@RequestMapping("/")
@RequestMapping("")
@RequestMapping("/welcome")
public String welcomeHandler(){
return("welcome");
}
@RequestMapping
にはString[]
valueパラメーターがあるため、次のように複数の値を指定できるはずです。
@RequestMapping(value={"", "/", "welcome"})
私のテスト(春3.0.5)から、@RequestMapping(value={"", "/"})
-"/"
のみが機能し、""
は機能しません。しかし、私はこれが機能することを発見しました:@RequestMapping(value={"/", " * "})
、" * "
は何にでも一致するため、他にない場合のデフォルトのハンドラーになります。
する必要はありません。 RequestMapping注釈は、ワイルドカードとantスタイルのパスをサポートしています。また、デフォルトのビューが必要なように見えるので、
<mvc:view-controller path="/" view-name="welcome"/>
構成ファイル内。これにより、ルートへのすべてのリクエストがウェルカムビューに転送されます。
呼び出されたURIを取得したい場合は、PathVariableアノテーションを使用することをお勧めします。
@PostMapping("/pub/{action:a|b|c}")
public JSONObject handlexxx(@PathVariable String action, @RequestBody String reqStr){
...
}
またはリクエストオブジェクトから解析します。
現在、Spring-Bootを使用している場合、{}は機能しません。
@RequestMapping
値パラメーターとしてまだString []があるため、宣言は次のようになります。
@RequestMapping(value=["/","/index","/login","/home"], method = RequestMethod.GET)
最短の方法は:@RequestMapping({"", "/", "welcome"})
次のこともできますが:
@RequestMapping(value={"", "/", "welcome"})
@RequestMapping(path={"", "/", "welcome"})