Spring Cloud Ribbon 的上手非常简单,它使用 REST 模板与后端服务器通信。
但是在我们的项目中,我们更喜欢使用okhttp来做http请求,有没有人可以帮忙?
Spring Cloud Ribbon 的上手非常简单,它使用 REST 模板与后端服务器通信。
但是在我们的项目中,我们更喜欢使用okhttp来做http请求,有没有人可以帮忙?
您可以在 Github 上查看spring-cloud-square项目,该项目通过 Spring Cloud Netflix 提供与 Square 的 OkHttpClient 和 Netflix Ribbon 的集成。我们来看看OkHttpRibbonInterceptorTests.java 类中的一个测试方法
@Test
@SneakyThrows
public void httpClientWorks() {
Request request = new Request.Builder()
// here you use a service id, or virtual hostname
// rather than an actual host:port, ribbon will
// resolve it
.url("http://" + SERVICE_ID + "/hello")
.build();
Response response = builder.build().newCall(request).execute();
Hello hello = new ObjectMapper().readValue(response.body().byteStream(), Hello.class);
assertThat("response was wrong", hello.getValue(), is(equalTo("hello okhttp")));
}