您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Spring MVC-我可以在RestController中自动装配HttpServletRequest吗

Spring MVC-我可以在RestController中自动装配HttpServletRequest吗

我已经用过了,效果很好。但不幸的是,我没有找到任何官方文件提及此功能

这是基于我的理解的解释,我的理解是通过运行具有不同标头/有效负载等的多个请求来调试代码

无论是现场自动装配还是通过构造函数自动装配servletRequest都像Proxy对象一样,将调用委派给 Current HttpServletRequest ,每个请求均不同。因此,即使通过构造函数将其注入到Singleton RestController中 ,它仍将为每个新请求将调用委派给相应的HttpServletRequest。这利用AutowireUtils.ObjectFactoryDe??legatingInvocationHandler访问当前的HttpServletRequest对象。它的Java文档还说Reflective InvocationHandler可以延迟访问

因此,即使自动连接的Proxy对象对于所有请求始终都是相同的,将调用委派给其的基础目标对象是每个请求的当前HttpServletRequest对象。

HttpServletRequest currentRequest = 
((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes())
.getRequest();

由于此说明是基于我的理解,因此,如果有人知道,请共享任何官方文档。

Jave 2022/1/1 18:23:16 有350人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶