MateCloud微服务平台之OKHttp3

Posted MateCloud微服务

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MateCloud微服务平台之OKHttp3相关的知识,希望对你有一定的参考价值。

一、关于OKHttp

OKHttp 是一个当前主流的网络请求的开源框架,由 Square 公司开发,用于替代 HttpUrlConnection 和 Apache HttpClient

二、特性

  • 支持 HTTP2,对一台机器的所有请求共享同一个 Socket
  • 内置连接池,支持连接复用,减少延迟
  • 支持透明的 gzip 压缩响应体
  • 通过缓存避免重复的请求
  • 请求失败时自动重试主机的其他 IP,自动重定向

三、实现功能

  • PUT,DELETE,POST,GET 等请求
  • 文件的上传下载
  • 加载图片 (内部会图片大小自动压缩)
  • 支持请求回调,直接返回对象、对象集合
  • 支持 Session 的保持

四、引入依赖

<dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp</artifactId>
    <version>4.9.1</version>
</dependency>

五、测试请求

5.1 GET请求

@Test
public void testGet() 
    String url = "https://www.baidu.com";
    OkHttpClient client = new OkHttpClient();
    Request request = new Request.Builder()
        .url(url)
        .build();
    Call call = client.newCall(request);
    try 
        Response response = call.execute();
        System.out.println(response.body().string());
     catch (IOException e) 
        e.printStackTrace();
    

5.2 POST请求

@Test
public void testPost() 
    String url = "http://localhost:10001/mate-uaa/oauth/token";
    OkHttpClient client = new OkHttpClient();
    RequestBody body = new FormBody.Builder()
        .add("username", "admin")
        .add("password", "matecloud")
        .add("grant_type", "password")
        .add("client_id", "mate")
        .add("client_secret", "mate-secret")
        .build();
    Request request = new Request.Builder()
        .url(url)
        .post(body)
        .build();
    Call call = client.newCall(request);
    try 
        Response response = call.execute();
        System.out.println(response.body().string());
     catch (IOException e) 
        e.printStackTrace();
    

五、与feign集成

与feign集成,取代httpclient

feign:
  sentinel:
    enabled: true
  okhttp:
    enabled: true
  httpclient:
    enabled: false

5.2 引入集成依赖

 <dependency>
     <groupId>io.github.openfeign</groupId>
     <artifactId>feign-okhttp</artifactId>
 </dependency>

六、介绍MateCloud

MateCloud是一款基于Spring Cloud Alibaba的微服务架构。目前已经整合Spring Boot 2.5、 Spring Cloud 2020、Spring Cloud Alibaba 2021、Spring Security Oauth2、Feign、Dubbo、JetCache、RocketMQ等服务套件,为您的开发保驾护航

6.1 技术交流

6.2 官方文档

6.3 项目地址

以上是关于MateCloud微服务平台之OKHttp3的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot 2.5.0正式版发布,MateCloud微服务平台同步升级

Spring Boot 2.5.0正式版发布,MateCloud微服务平台同步升级

推荐一款基于Spring Cloud Alibaba 的微服务快速开发平台(MateCloud)

推荐一款基于Spring Cloud Alibaba 的微服务快速开发平台(MateCloud)

推荐一款基于Spring Cloud Alibaba 的微服务快速开发平台(MateCloud)

MateCloud 4.0.8 正式版发布, 基于Spring Cloud Alibaba 的微服务平台