首页 > 其他分享 >okHttp3集成

okHttp3集成

时间:2022-10-25 22:57:30浏览次数:64  
标签:集成 return okhttp3 OkHttpClient instance okHttp3 TimeUnit import

  1. Maven依赖pom:
<dependency>
   <groupId>com.squareup.okhttp3</groupId>
   <artifactId>okhttp</artifactId>
   <version>4.9.0</version>
</dependency>
  1. 代码:
package com.c2f.hbos.agent.plugin.charge.common.utils;

import lombok.Getter;
import lombok.NonNull;
import okhttp3.*;

import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.concurrent.TimeUnit;

/**
 * @description: OkHttp工具类
 * @author: Yang JianXiong
 * @since: 2022/10/25
 */
public interface OkHttpUtil {

    /**
     * JSON POST
     *
     * @param url
     * @param json
     * @return
     */
    static String jsonPost(@NonNull String url, @NonNull String json) {
        RequestBody requestBody = RequestBody.create(json.getBytes(StandardCharsets.UTF_8), MediaType.parse("application/json;charset=utf-8"));
        Request request = new Request.Builder().url(url).post(requestBody).build();

        try {
            Response response = OkHttpClient.CLIENT.getInstance().newCall(request).execute();
            if (response.isSuccessful()) {
                //字节流
                //return response.body().byteStream();

                //字符串
                return response.body().toString();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }

}

@Getter
enum OkHttpClient {

    /**
     * 客户端实例
     */
    CLIENT(new okhttp3.OkHttpClient.Builder()
            .retryOnConnectionFailure(false)
            .connectionPool(new ConnectionPool(200, 47, TimeUnit.MINUTES))
            .connectTimeout(60, TimeUnit.SECONDS)
            .readTimeout(60, TimeUnit.SECONDS)
            .writeTimeout(60, TimeUnit.SECONDS)
            .build());

    private final okhttp3.OkHttpClient instance;

    OkHttpClient(okhttp3.OkHttpClient instance) {
        this.instance = instance;
    }

}



标签:集成,return,okhttp3,OkHttpClient,instance,okHttp3,TimeUnit,import
From: https://www.cnblogs.com/JaxYoun/p/16826687.html

相关文章

  • 语言集成查询LINQ
    https://segmentfault.com/a/1190000039202628https://learn.microsoft.com/zh-cn/dotnet/csharp/linq/https://blog.csdn.net/qq_42672770/article/details/123413847......
  • spring cloud Alibaba 集成openfeign 和 loadbalancer
    springcloudAlibaba集成openfeign和loadbalancer1.1引入依赖<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring......
  • 集成 Nacos 配置中心 注册中心
    集成Nacos配置中心注册中心1.1集成配置中心1.1.1添加maven配置<!--配置中心来做配置管理--><dependency><groupId>com.alibaba.cloud</groupId>......
  • 开源项目篇之第三方登录一键集成
    开源项目篇之第三方登录一键集成我的主页项目名称:JustAuth项目地址:Github、Gitee、官网项目评价:Gitee最有价值开源项目,小而全而美的第三方登录开源组件。项目描述:J......
  • 8.12 SpringBoot集成ElasticSearch之拦截器
    1.简介eBatis中拦截器的加载通过SPI方式实现,只需要提供的目标类实现io.manbang.ebatis.core.interceptor.Interceptor接口,在目标类上加上注解@AutoService(Interceptor.cla......
  • springboot 集成consul,实现服务注册案例
     网上关于这方便的集成很多,实际自己搭建时候,可能会有一些问题,在这总结一下,容易出错的地方,我会加特殊标记本集成使用springboot版本:2.3.3.RELEASE,springcloud......
  • 在你的网站集成Wiki系统 WikiPlex
    Wikiplex是一种在.NETFramework上所开发,具有处理Wiki编辑宏功能的小型函式库组件,它提供了数种编辑样式的格式,以让使用者可以类似编辑维基百科内容一样的方法来创建网......
  • SpringBoot集成feign的方法分享
    转自:http://www.java265.com/JavaFramework/SpringBoot/202205/3532.html 下文笔者讲述SpringBoot集成feign的方法分享,如下所示实现思路:1.引入相应的jar包......
  • 集成mybatis批量update问题
    <!--多条语句批量更新用的是拼接批量执行的方法--><updateid="updateDemo"><foreachcollection="list"item="item"index="index"open=""close=""separa......
  • 持续集成(CI)简单介绍
    Continuousintegration,简称CI​是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过......