Необязательные сегменты пути в Spring MVC

чтениеэтот (Spring 3) статья от 2010 года, в которой обсуждается использование расширения для предоставления удобного способа включения необязательных сегментов пути:

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

Я знаю, что мог бы просто реализовать несколько отображений запросов для достижения того же эффекта:

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

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

Но в зависимости от количества возможных перестановок, это кажется очень многословным вариантом.

Есть ли в более поздней версии Spring (после 3) такая возможность? В качестве альтернативы, существует ли какой-либо механизм для объединения частей URL-адреса запроса для подачи большей сигнатуры метода ответа?

Обновить

Этот ответ на вопрос, касающийся совместного использования переменных пути и параметров запроса, предлагается такой подход:

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

Но переменная пути не может быть установлена ​​в нуль. Просто собираюсь/campaigns вернет 400 ответ.

Ответы на вопрос(1)

Ваш ответ на вопрос