Springコントローラーが両方の種類のリクエストを処理することは可能ですか?
1) http://localhost:8080/submit/id/ID123432?logout=true
2) http://localhost:8080/submit/id/ID123432?name=sam&password=543432
この種の単一のコントローラを定義すると、次のようになります。
@RequestMapping (value = "/submit/id/{id}", method = RequestMethod.GET,
produces="text/xml")
public String showLoginWindow(@PathVariable("id") String id,
@RequestParam(value = "logout", required = false) String logout,
@RequestParam("name") String username,
@RequestParam("password") String password,
@ModelAttribute("submitModel") SubmitModel model,
BindingResult errors) throws LoginException {...}
「ログアウト」を含むHTTPリクエストは受け入れられません。
各リクエストを個別に処理する2つのコントローラーを定義すると、Springは「すでに 'Controller' Beanメソッドが存在します...マップされています」という例外を報告します。