Im Idealfall können wir pathvariable erhalten, indem Anmerkung @PathVariable
in Methodenargument verwenden, aber hier haben Sie Reihe von URL verwendet {"/userDetails", "/userDetails/edit/{id}"}
so wird dieser Fehler geben, während das Angebot Anfrage wie localhost:8080/domain_name/userDetails
, in diesem Fall keine ID wird @PathVariable geliefert werden.
So können Sie den Unterschied zu bekommen (die Anfrage durch wird kommen) mit Argument HttpServletRequest Anfrage in Methode und verwenden diese Request-Objekt, wie unten -
String uri = request.getRequestURI();
-Code ist so -
@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
}
Duplizieren von [diese Frage] (http://stackoverflow.com/questions/2745471/spring-web-mvc-use-same-request-mapping-for- Anfrage-Parameter-und-Pfad-Variable) – nobeh