Справочная информация : я пытаюсь создать серверную часть для веб-клиента «Одностраничное приложение», который перенаправляет все запросы к точке входа index.html, за исключением всего, что указано в /assets/
. "/" сопоставлен с /index.html в ResourceHandler и работает нормально.
Проблема : я хочу сопоставить все пути, которые не начинаются с '/ assets /', сRequestMapping весной. Это работает, если я положительно сопоставляю «активы», но не, если я отрицательно сопоставляю «активы» в регулярном выражении.
@ControllerAdvice
@RequestMapping(value="/**")
public class SPARouter {
@RequestMapping(value = {"/{path:(?!assets)}/**"}, method = RequestMethod.GET)
public String router() {
return "forward:/";
}
}
Приведенный выше код не работает, поскольку он никогда не соответствует ни одному URL. Если я заменим "/{path:(?!assets)}/**"
на "/{path:assets}/**"
, он будет соответствовать URL-адресу, подобному /assets/...
. То, что не работает, - это отрицательный взгляд / совпадение в регулярном выражении.
можно ли таким образом отрицательно сопоставить шаблон?