无论何时发出请求,我都需要获取请求URI以进行一些内部计算。一段时间以来,我一直这样做:
public Mono<Response> example(ServerHttpRequest req) { ... }
然后使用req.getURI()
,但一旦需要多次传递它,这就变得很麻烦了。我需要URI对象来从中提取scheme
,schemeSpecificPart
,host
,port
。
有没有一种方法可以在不从请求中提取这些属性的情况下获取它们?
UPD:我发现Web MVC有一些方便的方法来检索请求URI。但我需要相同的方法来检索React堆栈(netty)。
3条答案
按热度按时间eqqqjvef1#
可以通过创建
WebFilter
将ServerHttpRequest
放入Context
中来实现:此外,创建提供对请求数据的静态访问的类:
方法可以通过类名直接访问,而不必示例化它们。只是要注意不要在过滤器执行之前访问它。
用法示例:
参考文献
vq8itlhq2#
您可以尝试以下操作:
你可以在getDescription中把false变成true,因为false只会给予你URI,我认为这是你唯一需要的。
64jmpszr3#
你可以把它注射到任何一个豆子里。