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

Spring MVC-我可以在RestController中自动装配HttpServletRequest吗,第1张

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();

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



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5641665.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存