Несколько @PathVariable в Spring MVC

Не смог найти ответа на этот вопрос, к сожалению, так что надеялся, что кто-то может помочь.

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

Однако, когда я делаю это, оба "приложения" и "fnm"; содержат одно и то же значение (которое является любым значением, которое было присвоено приложению).

Действительно признателен за понимание того, где я ошибаюсь?

Спасибо!

 NimChimpsky05 июл. 2012 г., 21:17
это должно работать, вы уверены, что вы называете это правильно?

Ответы на вопрос(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 ...
  }

В основном переменные пути должны быть указаны в скобках, в аргументах метода. Это помогает?

 user138992005 июл. 2012 г., 21:19
Извините, я должен был это указать. Я тестировал без имени переменной, с именем переменной, а также явно пытался (значение = & quot; _some_pathvarname & quot;). Все из которых дают одинаковые результаты :(
 user138992005 июл. 2012 г., 21:25
Спасибо, нашел проблему. fnm был усечен, поэтому тестовые значения выглядели одинаково ... извините, мозги исчезают на этом. У меня сейчас правильное регулярное выражение, и оно работает, спасибо всем за помощь!
 05 июл. 2012 г., 21:22
@ user1389920: пробовали ли вы жестко кодировать URL запроса с разными значениями; Например: / XYZ / conf / ABC, а затем проверьте, что отображается на контроллер? это чтобы убедиться, что запрос сформирован правильно ...

Ваш ответ на вопрос