文档显示Http客户端应设置要实例化的URL或服务ID:
@Client("https://api.twitter.com/1.1")
@Inject
RxHttpClient httpClient;
如何使用一个HttpClient实例来请求多个具有不同域的URL?
@Client
@Inject
RxHttpClient httpClient;
httpClient.retrieve( HttpRequest.GET("https://twitter.com/") )
httpClient.retrieve( HttpRequest.GET("https://www.google.com/") )
代码将返回错误:
No value specified for @Client\r\nPath Taken
答案 0 :(得分:1)
HttpClient
中的RxHttpClient
和随后的Micronaut的范围是给定的URL。他们维护一些配置,负载平衡,调度,SSL上下文信息和HTTP客户端筛选器,范围仅限于已配置的URL
。在您的示例中,您将需要注入两个不同的客户端。
@Inject
@Client("https://api.twitter.com/1.1")
RxHttpClient twitterClient;
@Inject
@Client("https://www.google.com")
RxHttpClient googleClient;
twitterClient.retrieve( HttpRequest.GET("/statuses/user_timeline") )
googleClient.retrieve( HttpRequest.GET("/some/available/endpoint") )
还请注意,可以将注入的RxHttpClient
设置为use a configuration path if desired。