Optionale Pfad-Variablen in der Spring-MVC-RequestMapping URITemplate

Habe ich die folgende Zuordnung:

@RequestMapping(value = "/{first}/**/{last}", method = RequestMethod.GET)
public String test(@PathVariable("first") String first,  @PathVariable("last")  
  String last) {}

Welche für die folgenden URIs:

foo/a/b/c/d/e/f/g/h/bar
foo/a/bar
foo/bar

maps foo erste und bar letzten und funktioniert einwandfrei.

Was ich möchte, ist etwas, was Karten alles zwischen foo und bar in einem einzigen Pfad param, oder null, wenn es keine Mitte (wie in der letzten URI-Beispiel):

@RequestMapping(value = "/{first}/{middle:[some regex here?]}/{last}", 
  method = RequestMethod.GET)
public String test(@PathVariable("first") String first, @PathVariable("middle")
  String middle, @PathVariable("last") String last) {}

Ziemlich fest auf dem regex, da war ich in der Hoffnung, dass so etwas einfaches wie {Mitte:.*}, die nur maps /foo/a/bar oder {Mitte:(.*/)*}, das scheint die Karte zu nichts.

Macht die AntPathStringMatcher die tokenisierung auf "/" vor der Anwendung von regex-mustern? (Herstellung von mustern, die durch eine /unmöglich) oder gibt es eine Lösung?

FYI dies ist im Frühjahr 3.1M2

Diese scheinen ähnlich zu @RequestMapping-Controller und dynamische URLs aber ich habe es nicht eine Lösung gibt.

InformationsquelleAutor laochan | 2011-10-20
Schreibe einen Kommentar