java中调用api的方式(postJsonHTTP)


//设置格式以及字符编码
 private static final MediaType JSON = MediaType.parse("application/json; charset=utf-8");
 
 /**
    * @Description: 获取抓拍机列表
    * @param boxIP   调用服务器的ip地址
    * @param port    调用服务器的端口号
    * @param jsonStr  发送的数据
    * @param requestHead  请求头
    * @return:
    * @Author: liujianhua
    * @Date: 18:47
    */
 //比如:http://192.168.88.133:8080/api/selectById
 //同:http://boxIP:port/requestHead
 public static  String postJsonHTTP(String boxIP,String port ,String jsonStr,String requestHead) throws IOException {
        String url = "http://"+boxIP+":"+port+"/"+requestHead;
        OkHttpClient okHttpClient = new OkHttpClient.Builder().readTimeout(30, TimeUnit.SECONDS).build();
        RequestBody requestBody = RequestBody.create(JSON, jsonStr);
        Request.Builder builder = new Request.Builder();
        final Request request = builder.url(url).post(requestBody).build();
        final Call call = okHttpClient.newCall(request);
        Response response;
        response = call.execute();
        return response.body().string();
    }

如何调用

 public List<Map> requestCameraList() throws Exception{
        String boxIP = "192.168.88.133";
        String port = "8080";
        //将数据存放到map中
        Map requestMap = new HashMap();
        requestMap.put("Name","SubDevicesManageRequest");
        //下面将map转为json  
        String ret = postJsonHTTP(boxIP, port, gson.toJson(requestMap),LOADBAIDUCAMERA);
        //将收到的数据转为map格式
        HashMap retMap = gson.fromJson(ret, HashMap.class);
        System.err.println(retMap);
        return cameraListMap;
    }

版权声明:本文为weixin_45151960原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。