2012-07-05 21 views
14

Purtroppo non ho trovato una risposta a questo, quindi spero che qualcuno possa aiutarti.Multiple @PathVariable in Spring MVC

In Spring MVC 3.1.0 Ecco il mio metodo:

@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 ... 
    } 

Ho visto alcuni esempi on-line e sembra che ci sia alcun problema avere più @PathVariables in teoria.

Tuttavia, quando lo faccio, sia "app" che "fnm" contengono lo stesso valore (che è qualsiasi valore assegnato a "app").

Apprezzo davvero qualsiasi intuizione che qualcuno potrebbe dover sapere dove sto andando male?

Grazie!

+0

che dovrebbe funzionare, sei sicuro di chiamarlo correttamente? – NimChimpsky

risposta

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 ... 
    } 

In pratica le variabili di percorso devono essere specificate con parentesi, negli argomenti del metodo. Questo aiuto?

+0

Siamo spiacenti, avrei dovuto specificarlo. Ho provato senza il nome della variabile, con il nome della variabile e anche provando esplicitamente (value = "_un_percorso_viaggi"). Tutto ciò produce gli stessi risultati :( – user1389920

+0

@ user1389920: hai provato l'url di richiesta hardcoding con valori diversi, ad esempio:/XYZ/conf/ABC e poi controlla cosa viene mappato sul controller? Questo per verificare che la richiesta sia corretta formato ... –

+0

Grazie, ho trovato il problema, fnm veniva troncato quindi i valori del test erano gli stessi ... scusa un po 'di svanimento del cervello su questo, ho la regex corretta ora e funziona, grazie a tutti per l'aiuto! – user1389920

Problemi correlati