Segmentos de ruta opcionales en Spring MVC

Leyendoesta (Spring 3) artículo de 2010, analiza el uso de una extensión para proporcionar una forma conveniente de incluir segmentos de ruta opcionales:

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

Sé que podría implementar una serie de asignaciones de solicitudes para lograr el mismo efecto:

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

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

Pero dependiendo del número de posibles permutaciones, parece una opción muy detallada.

¿Alguna versión posterior de Spring (después de 3) proporciona tal instalación? Alternativamente, ¿hay algún mecanismo para encadenar porciones de la URL de solicitud para alimentar una firma de método de respuesta más grande?

Actualizar

Esta respuesta a una pregunta relacionada con el intercambio de variables de ruta y parámetros de solicitud sugiere un enfoque como:

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

Pero la variable de ruta no se puede establecer en nulo. Solo voy a/campaigns devolverá una respuesta 400.

Respuestas a la pregunta(1)

Su respuesta a la pregunta