Optional Pfadsegmente in Spring MVC

LesenDien dem Artikel @ (Spring 3) aus dem Jahr 2010 wird die Verwendung einer Erweiterung erläutert, um eine bequeme Möglichkeit zum Einschließen optionaler Pfadsegmente bereitzustellen:

@RequestMapping("/houses/[preview/][small/]{id}")
public String handlePreview(@PathVariable long id, @PathVariable("preview/") boolean preview, @PathVariable("small/") boolean small) {
    return "view";
}

Ich weiß, ich könnte einfach eine Reihe von Anforderungszuordnungen implementieren, um den gleichen Effekt zu erzielen:

@RequestMapping(value="/houses/preview/{id}")
...

@RequestMapping(value="/houses/{id}")
...
~~~ snip ~~~

Aber je nach Anzahl der möglichen Permutationen scheint es eine sehr ausführliche Option zu sein.

Bietet eine spätere Version von Spring (nach 3) eine solche Funktion? Gibt es alternativ einen Mechanismus zum Verketten von Teilen der Anforderungs-URL, um eine größere Signatur der Antwortmethode einzugeben?

Aktualisiere

Diese Antwort auf eine Frage bezüglich der Freigabe von Pfadvariablen und Anforderungsparametern schlägt einen Ansatz vor wie:

@RequestMapping(method=RequestMethod.GET, value={"/campaigns","/campaigns/{id}"})
    @ResponseBody
    public String getCampaignDetails(
         @PathVariable("id") String id)
    {
        ~~~ snip ~~~

Aber die Pfadvariable kann nicht auf null gesetzt werden. Gehe einfach zu/campaigns gibt eine Antwort von 400 zurück.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage