Spring Cloud Ribbon的上手非常简单,就是使用rest模板与后端服务器进行通信。
但是在我们的项目中我们更喜欢使用okhttp来做http请求,有人可以帮忙吗?
最佳答案
您可以查看spring-cloud-square该项目在 Github 上通过 Spring Cloud Netflix 提供与 Square 的 OkHttpClient 和 Netflix Ribbon 的集成。我们看OkHttpRibbonInterceptorTests.java class中的一个测试方法
@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")));
}
关于spring - 如何在 Spring Cloud Ribbon 中使用 okhttp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43018511/