@RequestMapping(value = "info")
@ResponseBody
public String getRequestContextInfo() {
return helloService.getReqInfo();
}
public String getReqInfo() {
// 在service中获取HttpServletRequest
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest();
String info = request.getParameter("name");
return StringUtils.isEmpty(info) ? "Name is Empty." : "Name is " + info;
}
当请求为http://localhost:8080/info
时,返回Name is Empty.
当请求为http://localhost:8080/info?name=zhangsan
时,返回Name is zhangsan
需要注意的是,当mvc方法中注入的request类型为MultipartHttpServletRequest类型时,即文件上传时,通过以上方法是获取不到参数值的。需要将request对象转为MultipartHttpServletRequet。