add below to pom.xml
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.11.0</version>
</dependency>
java code
import java.util.concurrent.TimeUnit;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import okhttp3.OkHttpClient;
@Configuration
public class OkHttpConfig {
// strong recommend to use singleton
@Bean
public OkHttpClient okHttpClient() {
OkHttpClient okHttpClient = new OkHttpClient.Builder()
.connectTimeout(2000, TimeUnit.MILLISECONDS)
.readTimeout(3000, TimeUnit.MILLISECONDS)
.writeTimeout(3000, TimeUnit.MILLISECONDS)
.build();
return okHttpClient;
}
}
how to use
@Autowired
private OkHttpClient okHttpClient;
@Test
public void invokeRemoteAPI() throws Exception {
String url = "http://host:port/api";
Request request = new Request.Builder().url(url).build();
Response response = okHttpClient.newCall(request).execute();
String result = response.body().string();
System.out.println(result);
}