春季MVC中的多个@PathVariable

不幸的是,找不到这个问题的答案,所以希望有人能帮忙。

在春季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没有问题。

但是,当我这样做时,“应用程序”和“fnm”都包含相同的值(这是分配给“应用程序”的任何值)。

真的很欣赏有人对我哪里出错的任何见解?

谢谢!


答案 1
@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 ...
  }

基本上,路径变量需要在方法参数中用括号指定。这有帮助吗?


答案 2

推荐