HttpClient_Post方式提交json字符串

package com.gts.jsonPost;

import java.io.IOException;

import org.apache.http.client.ResponseHandler;

import org.apache.http.client.methods.HttpPost;

import org.apache.http.entity.StringEntity;

import org.apache.http.impl.client.BasicResponseHandler;

import org.apache.http.impl.client.CloseableHttpClient;

import org.apache.http.impl.client.HttpClients;

public class JsonPost {

public static void main(String[] args) {

String url = "http://159.138.1.196:9200/gspoc/idealmoney_rt_result/_search";

//Post方式提交Json字符串,按照指定币种,指定时间点查询

String json1 = "{\"query\":{\"bool\":{\"must\":[{\"match_phrase\":{\"imtype\":\"LTCUS\"}},{\"match_phrase\":{\"rtdatetime\":1521164922000}}]}}}";

//Post方式提交json字符串,按照指定的币种和时间正序的方式获取前N条数据

String json2 = "{\"query\":{\"match\":{\"imtype\":\"LTCUS\"}},\"sort\":[{\"rtdatetime\":{\"order\":\"desc\"}}],\"size\":3}";

//Post方式提交Json字符串,按照指定币种,指定时间段查询

String json3 = "{\"query\":{\"bool\":{\"must\":[{\"match_phrase\":{\"imtype\":\"LTCUS\"}},{\"range\":{\"rtdatetime\":{\"gte\":1521164922000,\"lte\":1521164932000}}}]}}}";

String json = json2;

System.out.println(JsonPost.HttpPostWithJson(url, json));

}

public static String HttpPostWithJson(String url, String json) {

String returnValue = "这是默认返回值,接口调用失败";

CloseableHttpClient httpClient = HttpClients.createDefault();

ResponseHandler<String> responseHandler = new BasicResponseHandler();

try{

        //第一步:创建HttpClient对象

        httpClient = HttpClients.createDefault();

        //第二步:创建httpPost对象

        HttpPost httpPost = new HttpPost(url);

        //第三步:给httpPost设置JSON格式的参数

        StringEntity requestEntity = new StringEntity(json,"utf-8");

        requestEntity.setContentEncoding("UTF-8");           

        httpPost.setHeader("Content-type", "application/json");

        httpPost.setEntity(requestEntity);

      //第四步:发送HttpPost请求,获取返回值

      returnValue = httpClient.execute(httpPost,responseHandler); //调接口获取返回值时,必须用此方法

}

catch(Exception e)

{

e.printStackTrace();

}

finally {

      try {

httpClient.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

    }

//第五步:处理返回值

    return returnValue;

}

}

有不清楚的可以留言哦,看见会第一时间回复!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容