В ряде случаев, удобно адресовать метода контроллера, включая в путь значения каких-то параметров, например, http://mysite.ru/pages/5. Для того, чтобы обрабатывать такие запросы методами контроллера, нужно использовать следующую конструкцию в контроллере:

@RequestMapping(value = "/pages/{id}")
public String loadPage(@PathVariable(value = "id") Long id) {
  //---
}


Здесь в аннотации @RequestMapping в адресе использована конструкция {id}, определяющая место параметра в адресной строке. В параметрах метода использована дополнительная аннотация @PathVariable, указывающая на то, что данный параметр получается из адресной строки. Имя переменной не обязательно должно совпадать с тем, как оно обозначено в @RequestMapping. Поэтому указывается @PathVariable(value = "id"). Это позволяет очевидным образом использовать несколько параметров в одной адресной строке, например, @RequestMapping(value = "users/{userId}/pages/{pageId}").

Навигация[править | править код]

Материалы сообщества доступны в соответствии с условиями лицензии CC-BY-SA, если не указано иное.