2012-07-05 25 views
14

Desafortunadamente, no se pudo encontrar una respuesta, con la esperanza de que alguien pueda ayudar.Múltiple @PathVariable en Spring MVC

En Spring MVC 3.1.0 aquí es mi método:

@RequestMapping(value = "/{app}/conf/{fnm}", method=RequestMethod.GET) 
public ResponseEntity<?> getConf(@PathVariable String app, @PathVariable String fnm) { 
    log.debug("AppName:" + app); 
    log.debug("fName:" + fnm); 
      ... 
      return ... 
    } 

He visto algunos ejemplos en línea y parece que no hay problema que tiene múltiples @PathVariables en teoría.

Sin embargo, cuando lo hago, tanto "aplicación" como "fnm" contienen el mismo valor (que es cualquier valor asignado a "aplicación").

¿Realmente agradezco cualquier idea que alguien pueda tener de que me estoy equivocando?

Gracias!

+0

que debería funcionar, ¿está seguro de que lo está llamando correctamente? – NimChimpsky

Respuesta

24
@RequestMapping(value = "/{app}/conf/{fnm}", method=RequestMethod.GET) 
public ResponseEntity<?> getConf(@PathVariable("app") String app, @PathVariable("fnm") String fnm) { 
    log.debug("AppName:" + app); 
    log.debug("fName:" + fnm); 
      ... 
      return ... 
    } 

Básicamente, las variables de ruta se deben especificar con paréntesis, en los argumentos del método. ¿Esto ayuda?

+0

Disculpa, debería haber especificado eso. He probado sin el nombre de la variable, con el nombre de la variable y también intentando explícitamente (value = "_ some_pathvarname"). Todo lo cual produce los mismos resultados :( – user1389920

+0

@ user1389920: ¿Has intentado hardcoding URL de solicitud con diferentes valores; Por ejemplo:/XYZ/conf/ABC y luego verifica qué se asigna al controlador? Esto es para verificar que la solicitud sea correcta formó ... –

+0

Gracias, encontré el problema. fnm estaba siendo truncado por lo que los valores de las pruebas se veían igual ... perdón por el desvanecimiento del cerebro en este. Ahora tengo la expresión regular correcta y está funcionando, ¡gracias a todos por la ayuda! – user1389920

Cuestiones relacionadas