Для нескольких элементов внутри вашего пути вы можете получить доступ к динамическим значениям пути:
@RequestMapping(value="/**", method = RequestMethod.GET)
public String get(HttpServletRequest request) throws Exception {
String dynPath = (String) request.getAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE);
System.out.println("Dynamic Path: " + dynPath);
return dynPath;
}
Если вы знаете заранее мотыгу много уровней переменного пути вы будете иметь вы можете кодировать их явно как
@RequestMapping(value="/{path1}/{path2}/**", method = RequestMethod.GET)
public String get(@PathVariable("path1") String path1,
@PathVariable("path2") String path2,
HttpServletRequest request) throws Exception {
String dynPath = (String) request.getAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE);
System.out.println("Dynamic Path: " + dynPath);
return dynPath;
}
Если вы хотите увидеть строку, возвращаемую в вашем браузере, вы должны объявить метод @ResponseBody
, а также (так струнный вы возвращаете это содержание вашего ответа):
@RequestMapping(value="/**", method = RequestMethod.GET, produces = "text/plain")
@ResponseBody
public String get(HttpServletRequest request) throws Exception {
спасибо! теперь, по какой-то причине, мой webapp меняется на WEB-INF/jsp/my/signed/path.jsp ... :-) должна быть некоторая ошибка конфигурации, я думаю ... – user3601578
Нет, это просто Spring MVC, * view ** вы вернули (строка пути) – Jan
См. мое редактирование о том, как получить строку в качестве ответа в браузере – Jan