1、java项目中实现url接口调用的方法
1.1、HttpClient
HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 Http 协议的客户端编程工具包,并且它支持 HTTP 协议最新版本和建议。HttpClient 相比传统 JDK 自带的 URLConnection,提升了易用性和灵活性,使客户端发送 HTTP 请求变得容易,提高了开发的效率。
1.2、Okhttp
一个处理网络请求的开源项目,是安卓端最火的轻量级框架,由 Square 公司贡献,用于替代 HttpUrlConnection 和 Apache HttpClient。OkHttp 拥有简洁的 API、高效的性能,并支持多种协议(HTTP/2 和 SPDY)。
1.3、HttpURLConnection
HttpURLConnection 是 Java 的标准类,它继承自 URLConnection,可用于向指定网站发送 GET 请求、POST 请求。HttpURLConnection 使用比较复杂,不像 HttpClient 那样容易使用。
1.4、RestTemplate
RestTemplate 是Spring提供的用于访问 Rest 服务的客户端,RestTemplate 提供了多种便捷访问远程 HTTP 服务的方法,能够大大提高客户端的编写效率。
2、Feign使用指定工具调用url接口
Feign 中默认使用 JDK 原生的 URLConnection 发送 HTTP 请求,我们看下使用HttpClient和Okhttp是如何配置的。Feign发起http调用,真正逻辑是feign.Client#execute
2.1、配置HttpClient
引入以来,这里一定要注意版本问题,看下feign-httpclient所依赖的feign版本。
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-httpclient</artifactId>
<version>10.9.1</version>
</dependency>
在配置文件中加入配置
feign.httpclient.enabled=true
在Spring中HttpClient的配置类是org.springframework.cloud.openfeign.ribbon.HttpClientFeignLoadBalancedConfiguration。从配置类中可以看出,改配置不存在,默认也是使用httpclient.
2.2、配置OkHttp
引入以来,这里一定要注意版本问题,看下feign-httpclient所依赖的feign版本。
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-okhttp</artifactId>
<version>11.6</version>
</dependency>
在配置文件中加入配置
feign.okhttp.enabled=true
在Spring中的配置类是org.springframework.cloud.openfeign.ribbon.HttpClientFeignLoadBalancedConfiguration。
2.3、配置Http5Client
配置方式和以上两种相似,Spring中的配置类为org.springframework.cloud.openfeign.ribbon.HttpClient5FeignLoadBalancedConfiguration。