是否可以在ClientHeadersFactory中获取出站客户端请求信息?
我正在编写带有以下层的应用程序:
外部客户端(例如浏览器) - >我的服务 - >外部api
我有一个clientheadersfactory
,它将一些标头添加到我在我的服务
中使用的REST客户端来调用外部API
。我想知道是否可以在我的服务
到外部API
中从我的REST客户端获得有关客户端请求的信息?例如,我想知道HTTP方法和我的REST客户端正在调用的端点。这将影响我添加的标题。
谢谢!
I am writing an application with the following layers:
External Client (e.g. browser) -> My Service -> External API
I have a ClientHeadersFactory
which adds some headers to the REST Client I use in My Service
to call External API
. I was wondering whether it was possible to get information about the client request from my REST Client in My Service
to External API
? For example, I'd like to know the HTTP method and the endpoint my REST Client is calling. This will impact what headers I add.
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
ClientHeadersFactory
不适用于需要查看请求的用例。要根据请求添加标头,您可以使用
ClientRequestFilter
。请注意,您可以将 ClientHeadersFactory 与过滤器混合使用。
例如,您可以执行以下操作:
您可以通过使用
@RegisterProvider(MyFilter.class)
注释客户端来为单个客户端注册这样的过滤器,或者,如果您使用quarkus -rest-client-reactive
,通过将@Provider
注释添加到过滤器,适用于应用程序中的所有客户端。ClientHeadersFactory
is not designed for use cases where looking into the request is necessary.To add headers based on the request, you can use
ClientRequestFilter
.Note, that you can mix
ClientHeadersFactory
with filters.For example, you could do something like this:
You can register such a filter for a single client, by annotating the client with
@RegisterProvider(MyFilter.class)
, or, if you usequarkus-rest-client-reactive
, for all the clients in your application by adding the@Provider
annotation to the filter.