Вопрос по annotations, path-variables, spring, spring-mvc, java – Несколько @PathVariable в Spring MVC

17

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

В 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"; содержат одно и то же значение (которое является любым значением, которое было присвоено приложению).

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

Спасибо!

это должно работать, вы уверены, что вы называете это правильно? NimChimpsky

Ваш Ответ

1   ответ
29
@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 ...
  }

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

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

Похожие вопросы