理想的には、メソッドの引数に注釈@PathVariable
を使用してpathvariable得ることができますが、ここであなたはlocalhost:8080/domain_name/userDetails
のような供給要求が、この場合には何のidが@PathVariableに供給されませんしながら、そう、これはエラーを与えるURL {"/userDetails", "/userDetails/edit/{id}"}
の配列を使用していました。
ですから、メソッド内の引数のHttpServletRequest要求を使用して(リクエストが通過来ている)の違いを取得し、以下のように、この要求オブジェクトを使用することができます -
文字列のURI = request.getRequestURI();
コードは次のようである -
@RequestMapping(value = {"/userDetails", "/userDetails/edit/{id}"}, method=RequestMethod.GET)
public String userDetails(Map Model,HttpServletRequest request) {
String uri = request.getRequestURI();
//put the condition based on uri
}
[この質問](http://stackoverflow.com/questions/2745471/spring-web-mvc-use-same-request-mapping-for-の重複リクエストパラメータとパス変数) – nobeh