forezp / matrix-http

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

matrix-http

License Maven Central

这个项目干嘛的?

httpclient创建和管理的工具类。

怎么用

添加依赖:


<dependency>
  <groupId>io.github.forezp</groupId>
  <artifactId>matrix-http-starter</artifactId>
  <version>${version}</version>
</dependency>

使用

在配置文件中添加:

http.sync.enable=true
http.async.enable=true

httpclient的配置如下,如果不填,即为默认值:

   public static final String HTTPCLIENT_CONNCT_TIMEOUT = "httpclient.connect.timeout";
    public static final String HTTPCLIENT_CONNCT_TIMEOUT_DEFAULT = "5000";
    public static final String HTTPCLIENT_CONNCT_REQUEST_TIMEOUT = "httpclient.connect.request.timeout";
    public static final String HTTPCLIENT_CONNCT_REQUEST_TIMEOUT_DEFAULT = "5000";
    public static final String HTTPCLIENT_SOCKET_TIMEOUT = "httpclient.socket.timeout";
    public static final String HTTPCLIENT_SOCKET_TIMEOUT_DEFAULT = "5000";
    public static final String HTTPCLIENT_SEDBUFSIZE = "httpclient.send.bufsize";
    public static final String HTTPCLIENT_SEDBUFSIZE_DEFAULT = "65536";
    public static final String HTTPCLIENT_RCV_BUFSIZE = "httpclient.rcv.bufsize";
    public static final String HTTPCLIENT_RCV_BUFSIZE_DEFAULT = "65536";
    public static final String HTTPCLIENT_BACK_LOG_SIZE = "httpclient.back.logszie";
    public static final String HTTPCLIENT_BACK_LOG_SIZE_DEFAULT = "128";
    public static final String HTTPCLIENT_MAX_TOTAL = "httpclient.max.total";
    public static final String HTTPCLIENT_MAX_TOTAL_DEFAULT = "64";

使用:


   package io.github.forezp;
   
   import com.alibaba.fastjson.JSON;
   import com.fasterxml.jackson.annotation.JsonAlias;
   import org.springframework.beans.factory.annotation.Autowired;
   import org.springframework.boot.SpringApplication;
   import org.springframework.boot.autoconfigure.SpringBootApplication;
   import org.springframework.web.bind.annotation.GetMapping;
   import org.springframework.web.bind.annotation.RestController;
   
   import java.util.HashMap;
   import java.util.Map;
   
   @SpringBootApplication
   @RestController
   public class MatrixHttpExampleApplication {
   
       public static void main(String[] args) {
           SpringApplication.run(MatrixHttpExampleApplication.class, args);
       }
   
       @Autowired
       ApacheAsyncClientExecutor httpAsyncClientExecutor;
       @Autowired
       ApacheSyncClientExecutor httpClientExecutor;
   
       @GetMapping("/test")
       public String test() {
   
           httpClientExecutor.get("https://www.baidu.com", new ResonseCallBack() {
               @Override
               public void completed(int httpCode, String result) {
                   System.out.println(result);
               }
   
               @Override
               public void failed(Exception e) {
   
               }
           });
           return "ok";
       }
   
       @GetMapping("/test2")
       public Keyswords testJieba() {
           String url = "http://fangzhipeng.com/test";
           Map<String, Object> paras = new HashMap<>();
           paras.put("title", "詹姆斯带队湖人登第一");
           paras.put("content", "詹姆斯给力,浓眉给力");
           ResonseCallBack.DEAULT deault = new ResonseCallBack.DEAULT();
           httpClientExecutor.postForm(url, paras, deault);
           Keyswords keyswords = JSON.parseObject(deault.getData(), Keyswords.class);
           System.out.println(JSON.toJSONString(keyswords));
           return keyswords;
       }
   
   
   }


About


Languages

Language:Java 100.0%