Bootstrap

Java后端Json格式调用接口

传参调用:

		String requestUrl = "http://127.0.0.1:21006/sysSms/queryReceiveMessage";
        String requestMethod = "post";
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("pageNo", 1);
        jsonObject.put("pageSize", 5);
        jsonObject.put("phoneNumbers", 123);
        jsonObject.put("receiveTimeBegin", 2020-01-12);
        jsonObject.put("receiveTimeBeginEnd", 2021-02-03);
        //调用
        String send = send(requestUrl, jsonObject, "utf-8");
        System.out.println(send+"成功了");
        //获取返回值(code为返回值中的某一个key)
        JSONObject test = JSONObject.parseObject(send);
        System.out.println(test.getString("code"));

方法:

    public static String send(String url, JSONObject jsonObject, String encoding){
        String body = "";

        //创建httpclient对象
        CloseableHttpClient client = HttpClients.createDefault();
        //创建post方式请求对象
        HttpPost httpPost = new HttpPost(url);

        //装填参数
        StringEntity s = new StringEntity(jsonObject.toString(), "utf-8");
        s.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,
                "application/json"));
        //设置参数到请求对象中
        httpPost.setEntity(s);
        System.out.println("请求地址:" + url);
//        System.out.println("请求参数:"+nvps.toString());

        //设置header信息
        //指定报文头【Content-type】、【User-Agent】
//        httpPost.setHeader("Content-type", "application/x-www-form-urlencoded");
        httpPost.setHeader("Content-type", "application/json");
        httpPost.setHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");

        //执行请求操作,并拿到结果(同步阻塞)
        CloseableHttpResponse response = null;
        try {
            response = client.execute(httpPost);
            //获取结果实体
            HttpEntity entity = response.getEntity();
            if (entity != null) {
                //按指定编码转换结果实体为String类型
                body = EntityUtils.toString(entity, encoding);
            }
            EntityUtils.consume(entity);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            //释放链接
            try {
                if(response != null){
                    response.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

        return body;
    }
;