Múltiples anotaciones de Spring @ RequestMapping


¿Es posible usar varias anotaciones de primavera @RequestMapping en un método? Como:

@RequestMapping("/")
@RequestMapping("")
@RequestMapping("/welcome")
public String welcomeHandler(){
 return("welcome");
}
Author: Aniket Kulkarni, 2010-03-25

3 answers

@RequestMapping tiene un parámetro de valor String[], por lo que debería poder especificar múltiples valores como este:

@RequestMapping(value={"", "/", "welcome"})

 359
Author: Ed Brannin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-05-11 21:08:38

De mi prueba (spring 3.0.5), @RequestMapping(value={"", "/"}) - solo "/" funciona, "" no. Sin embargo, descubrí que esto funciona: @RequestMapping(value={"/", " * "}), el " * " coincide con cualquier cosa, por lo que será el controlador predeterminado en caso de que no haya otros.

 19
Author: Alan Zhong,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-03-17 15:18:14

No es necesario. La anotación RequestMapping admite comodines y rutas de estilo ant. También parece que solo desea una vista predeterminada, por lo que puede poner

<mvc:view-controller path="/" view-name="welcome"/>

En su archivo de configuración. Eso reenviará todas las solicitudes a la raíz a la vista de bienvenida.

 12
Author: Robby Pond,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-05-11 21:16:19