Spring mvc 是否创建自动填充HttpServletRequest的自定义控制器参数?
使用严格基于注释的/Java-only-springmvc3.2.2配置,我试图创建一个带有自定义类(我称之为Spring mvc 是否创建自动填充HttpServletRequest的自定义控制器参数?,spring-mvc,Spring Mvc,使用严格基于注释的/Java-only-springmvc3.2.2配置,我试图创建一个带有自定义类(我称之为Context)作为参数的控制器方法。我希望使用当前HttpServletRequest的知识构建上下文,然后将其传递给控制器方法。本质上,我希望在请求对象发送到控制器之前,围绕请求对象创建自己的自定义包装器。e、 g.我想实现这一目标: @Controller @RequestMapping(value = "/") public class MainController {
Context
)作为参数的控制器方法。我希望使用当前HttpServletRequest
的知识构建上下文
,然后将其传递给控制器方法。本质上,我希望在请求对象发送到控制器之前,围绕请求对象创建自己的自定义包装器。e、 g.我想实现这一目标:
@Controller
@RequestMapping(value = "/")
public class MainController {
@RequestMapping(value = "/")
public @ResponseBody
String process(HttpServletRequest request) {
Context context = new Context(request);
...
}
}
自动地像这样:
@Controller
@RequestMapping(value = "/")
public class MainController {
@RequestMapping(value = "/")
public @ResponseBody
String process(Context context) {
...
}
}
这可能吗?我研究了在我的
webmvcconfigureadapter
中将HandlerMethodArgumentResolver
实现为@Bean
,但我认为这不是正确的路线。我尝试将@AutoWired
添加到上下文中(作为@Bean
),但也没有效果。我想有WebMVCConfigureAdapter
或者可能在AbstractAnnotationConfigDispatcherServletInitializer
中?HandlerMethodArgumentResolver
和WebMVCConfigureAdapter
肯定是实现目标的正确方法
为了注册自定义参数解析器,您需要使@配置
扩展WebMVCConfigureAdapter
并重写其addArgumentResolver()
方法