У меня есть следующее отображение:
@RequestMapping(value = "/{first}/**/{last}", method = RequestMethod.GET)
public String test(@PathVariable("first") String first, @PathVariable("last")
String last) {}
, которое для следующих URI:
foo/a/b/c/d/e/f/g/h/bar
foo/a/bar
foo/bar
отображает foo на first и bar to last и работает нормально.
Мне бы хотелось, чтобы что-то отображало все между foo и bar в один параметр пути, или ноль, если нетmiddle (как в последнем примере URI):
@RequestMapping(value = "/{first}/{middle:[some regex here?]}/{last}",
method = RequestMethod.GET)
public String test(@PathVariable("first") String first, @PathVariable("middle")
String middle, @PathVariable("last") String last) {}
Довольно сильно застрял в регулярном выражении, поскольку я надеялся, что что-то простое, например, {middle:. *}, которое only отображается в /foo / a / bar или {middle: (. * /) *}, который, кажется, ничего не отображает.
Размещает ли AntPathStringMatcher токен "/" перед применением шаблонов регулярных выражений?(создание шаблонов, которые пересекают / невозможно) или есть решение?
К вашему сведению, это весной 3.1M2
Это похоже на @ контроллеры RequestMapping и динамические URL-адреса но я не видел там решения.