考虑这个 spring MVC 处理程序方法:
@RequestMapping(value = "/profile/{id}", method = RequestMethod.GET)
public String displayProfile(Person person, ModelMap model) { ... }
我的问题:我可以在这个解析器中访问 id
的值而不必手动解析 URl:
public class PersonReslover implements HandlerMethodArgumentResolver { .. }
最佳答案
使用 NativeWebRequest 引用,可从 HandlerMethodArgumentResolver 的 resolveArgument() 方法访问。
例如:
private Map<String, String> getPathVariables(NativeWebRequest webRequest) {
HttpServletRequest httpServletRequest = webRequest.getNativeRequest(HttpServletRequest.class);
return (Map<String, String>) httpServletRequest.getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE);
}
关于java - 如何在我的自定义 HandlerMethodArgumentResolver 中访问路径变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28938540/