Ist es möglich, mehrere @RequestMapping-Federanmerkungen in einer Methode zu verwenden? Mögen:
@RequestMapping("/")
@RequestMapping("")
@RequestMapping("/welcome")
public String welcomeHandler(){
return("welcome");
}
@RequestMapping
Hat einen Werteparameter String[]
, Daher sollten Sie in der Lage sein, mehrere Werte wie diesen anzugeben:
@RequestMapping(value={"", "/", "welcome"})
Nach meinem Test (Spring 3.0.5) funktioniert @RequestMapping(value={"", "/"})
- nur "/"
, ""
Nicht. Allerdings habe ich herausgefunden, dass dies funktioniert: @RequestMapping(value={"/", " * "})
, das " * "
Stimmt mit nichts überein, so dass es der Standard-Handler ist, falls keine anderen vorhanden sind.
Muss nicht. Die RequestMapping-Annotation unterstützt Platzhalter und Ant-Style-Pfade. Sieht auch so aus, als ob Sie nur eine Standardansicht möchten, damit Sie sie platzieren können
<mvc:view-controller path="/" view-name="welcome"/>
in deiner Konfigurationsdatei. Dadurch werden alle Anfragen an das Stammverzeichnis an die Begrüßungsansicht weitergeleitet.
Es ist besser, die PathVariable-Annotation zu verwenden, wenn Sie immer noch die aufgerufene URI erhalten möchten.
@PostMapping("/pub/{action:a|b|c}")
public JSONObject handlexxx(@PathVariable String action, @RequestBody String reqStr){
...
}
oder analysieren Sie es vom Anfrageobjekt.
Im Moment funktioniert mit Spring-Boot - {} nicht.
@RequestMapping
hat immer noch String [] als Wertparameter, die Deklaration sieht also so aus:
@RequestMapping(value=["/","/index","/login","/home"], method = RequestMethod.GET)
Der kürzeste Weg ist: @RequestMapping({"", "/", "welcome"})
Obwohl Sie auch tun können:
@RequestMapping(value={"", "/", "welcome"})
@RequestMapping(path={"", "/", "welcome"})