2012-07-05 127 views
14

找不到這個不幸的答案,所以希望有人可以幫忙。Spring MVC中的多個@PathVariable

在Spring MVC 3.1.0這裏是我的方法:

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

我已經看到了一些在線的例子,它似乎存在具有理論上多個@PathVariables沒有問題。

但是,當我這樣做時,「app」和「fnm」都包含相同的值(即分配給「app」的值)。

真的很感謝任何見解有人可能要我去哪裏錯了嗎?

謝謝!

+0

應該工作,你確定你調用它是正確的? – NimChimpsky 2012-07-05 19:17:19

回答

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

基本上路徑變量需要用括號在方法參數中指定。 這有幫助嗎?

+0

對不起,我應該指定。我已經測試了沒有變量名稱的變量名稱,並且顯式地嘗試了(value =「_ some_pathvarname」)。所有這些都會產生相同的結果:( – user1389920 2012-07-05 19:19:03

+0

@ user1389920:您是否嘗試了使用不同值的硬編碼請求url;例如:/ XYZ/conf/ABC然後檢查映射到Controller的內容是否驗證請求是否正確形成... – 2012-07-05 19:22:17

+0

謝謝,發現問題fnm被截斷,所以測試值看起來是一樣的...抱歉,大腦褪色了一點,我現在有正確的正則表達式,它的工作,謝謝大家的幫助! – user1389920 2012-07-05 19:25:22

相關問題