All Downloads are FREE. Search and download functionalities are using the official Maven repository.

top.jfunc.common.http.withconverter.ConverterSmartHttpClient Maven / Gradle / Ivy

Go to download

http客户端请求工具类,有多种实现:OKHttp3、ApacheHttpClient、HttpURLConnection,可以随意切换http实现

There is a newer version: 1.8.2.0
Show newest version
package top.jfunc.common.http.withconverter;

import top.jfunc.common.converter.Converter;
import top.jfunc.common.http.ParamUtil;
import top.jfunc.common.http.basic.HttpClient;
import top.jfunc.common.http.smart.Request;
import top.jfunc.common.http.smart.Response;
import top.jfunc.common.http.smart.SmartHttpClient;

import java.io.IOException;
import java.util.Map;

import static top.jfunc.common.http.HttpConstants.*;

/**
 * @author xiongshiyan at 2018/7/16
 * 返回的结果值直接封装为bean
 */
public interface ConverterSmartHttpClient extends SmartHttpClient , Converter {
    ConverterSmartHttpClient setConverter(Converter converter);

    default  T get(String url, Map params, Map headers, int connectTimeout, int readTimeout, String resultCharset, Class clazz) throws IOException{
        String result = get(url, params, headers, connectTimeout, readTimeout, resultCharset);
        return convert(result , clazz);
    }
    default  T get(String url, Map params, Map headers, int connectTimeout, int readTimeout, Class clazz) throws IOException{
        return get(url, params, headers, connectTimeout, readTimeout , DEFAULT_CHARSET , clazz);
    }
    default  T get(String url, Map params, Map headers, String resultCharset, Class clazz) throws IOException{
        return get(url,params,headers,DEFAULT_CONNECT_TIMEOUT, DEFAULT_READ_TIMEOUT,resultCharset , clazz);
    }
    default  T get(String url, Map params, Map headers, Class clazz) throws IOException{
        return get(url,params,headers,DEFAULT_CONNECT_TIMEOUT, DEFAULT_READ_TIMEOUT, clazz);
    }
    default  T get(String url, Map params, int connectTimeout, int readTimeout, String resultCharset, Class clazz) throws IOException{
        return get(url,params,null,connectTimeout,readTimeout,resultCharset , clazz);
    }
    default  T get(String url, Map params, int connectTimeout, int readTimeout, Class clazz) throws IOException{
        return get(url,params,null,connectTimeout,readTimeout , clazz);
    }
    default  T get(String url, Map params, String resultCharset, Class clazz) throws IOException{
        return get(url,params,null,DEFAULT_CONNECT_TIMEOUT, DEFAULT_READ_TIMEOUT,resultCharset , clazz);
    }
    default  T get(String url, Map params, Class clazz) throws IOException{
        return get(url,params,null,DEFAULT_CONNECT_TIMEOUT, DEFAULT_READ_TIMEOUT, clazz);
    }
    default  T get(String url, String resultCharset, Class clazz) throws IOException{
        return get(url,null,null,DEFAULT_CONNECT_TIMEOUT, DEFAULT_READ_TIMEOUT, resultCharset , clazz);
    }
    default  T get(String url, Class clazz) throws IOException{
        return get(url,null,null,DEFAULT_CONNECT_TIMEOUT, DEFAULT_READ_TIMEOUT, clazz);
    }


    default  T post(String url, String body, String contentType, Map headers, int connectTimeout, int readTimeout, String bodyCharset, String resultCharset, Class clazz) throws IOException{
        String result = post(url, body, contentType, headers, connectTimeout, readTimeout, bodyCharset, resultCharset);
        return convert(result , clazz);
    }

    default  T post(String url, String body, String contentType, Map headers, int connectTimeout, int readTimeout, Class clazz) throws IOException{
        return post(url,body,contentType,headers,connectTimeout,readTimeout, DEFAULT_CHARSET,DEFAULT_CHARSET , clazz);
    }
    default  T post(String url, String body, String contentType, Map headers, String bodyCharset, String resultCharset, Class clazz) throws IOException{
        return post(url,body,contentType,headers,DEFAULT_CONNECT_TIMEOUT, DEFAULT_READ_TIMEOUT,bodyCharset,resultCharset , clazz);
    }
    default  T  post(String url, String body, String contentType, Map headers, Class clazz) throws IOException{
        return post(url,body,contentType,headers,DEFAULT_CONNECT_TIMEOUT, DEFAULT_READ_TIMEOUT, clazz);
    }
    default  T  post(String url, String body, String contentType, int connectTimeout, int readTimeout, String bodyCharset, String resultCharset, Class clazz) throws IOException{
        return post(url,body,contentType,null,connectTimeout,readTimeout,bodyCharset,resultCharset , clazz);
    }
    default  T  post(String url, String body, String contentType, int connectTimeout, int readTimeout, Class clazz) throws IOException{
        return post(url,body,contentType,null,connectTimeout,readTimeout , clazz);
    }
    /**
     * @see HttpClient#post(String, String, String, Map, int, int, String, String)
     */
    default  T  post(String url, String body, String contentType, String bodyCharset, String resultCharset, Class clazz) throws IOException{
        return post(url,body,contentType,null,DEFAULT_CONNECT_TIMEOUT, DEFAULT_READ_TIMEOUT,bodyCharset,resultCharset , clazz);
    }
    default  T  post(String url, String body, String contentType, Class clazz) throws IOException{
        return post(url,body,contentType,null,DEFAULT_CONNECT_TIMEOUT, DEFAULT_READ_TIMEOUT, clazz);
    }
    default  T  postJson(String url, String body, String bodyCharset, String resultCharset, Class clazz) throws IOException{
        return post(url,body,JSON_WITH_DEFAULT_CHARSET,null,DEFAULT_CONNECT_TIMEOUT, DEFAULT_READ_TIMEOUT,bodyCharset,resultCharset , clazz);
    }
    default  T  postJson(String url, String body, Class clazz) throws IOException{
        return post(url,body,JSON_WITH_DEFAULT_CHARSET,null,DEFAULT_CONNECT_TIMEOUT, DEFAULT_READ_TIMEOUT, clazz);
    }

    /**参数用 =和& 连接*/
    default  T  post(String url, Map params, Map headers, String bodyCharset, String resultCharset, Class clazz) throws IOException{
        return post(url, ParamUtil.contactMap(params , bodyCharset),FORM_URLENCODED_WITH_DEFAULT_CHARSET,headers,bodyCharset,resultCharset , clazz);
    }
    default  T  post(String url, Map params, Map headers, Class clazz) throws IOException{
        return post(url, ParamUtil.contactMap(params , DEFAULT_CHARSET),FORM_URLENCODED_WITH_DEFAULT_CHARSET,headers , clazz);
    }
    default  T  post(String url, Map params, String bodyCharset, String resultCharset, Class clazz) throws IOException{
        return post(url, ParamUtil.contactMap(params , bodyCharset),FORM_URLENCODED_WITH_DEFAULT_CHARSET,null,bodyCharset,resultCharset , clazz);
    }
    default  T  post(String url, Map params, Class clazz) throws IOException{
        return post(url, ParamUtil.contactMap(params , DEFAULT_CHARSET),FORM_URLENCODED_WITH_DEFAULT_CHARSET,null , clazz);
    }

    default  T  get(Request request, Class clazz) throws IOException{
        Response response = get(request);
        return convert(response.getBody() , clazz);
    }
    default  T  post(Request request, Class clazz) throws IOException{
        Response response = post(request);
        return convert(response.getBody() , clazz);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy