做这样的事情是否有效:
@RequestMapping(method = RequestMethod.POST)
public @ResponseBody Post doSomething(@PathVariable postId) {
}
@ExceptionHandler(Exception.class)
private ModelAndView handleException(Exception ex, @PathVariable postId) {
}
当我向其方法签名添加@PathVariable
时,看起来Spring忽略了我的异常处理程序。
答案 0 :(得分:1)
IMO无论如何都应该将这类信息包含在例外中。
我不知道异常处理程序获取路径变量。
答案 1 :(得分:0)
答案 2 :(得分:0)
也许是这样吗? (控制器中的一种方法)
private Optional<String> getPathVariable(String paramName) {
return Optional.ofNullable((Map<String, String>) request.getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE))
.filter(map -> map.containsKey(paramName))
.map(map -> map.get(paramName));
}