java调取HTTP——使用restTemplate提交GET、POST请求(表单形式、json形式)

一、restTemplate.exchange

  • POST
    public String restTemplatelistqwe() {
        MultiValueMap<String, String> map= new LinkedMultiValueMap<String, String>();
        map.add("uuid", "861854049739673");
        // 设置字符编码
        restTemplate.getMessageConverters().set(1,new StringHttpMessageConverter(StandardCharsets.UTF_8));
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
        headers.set("Authorization", "3b1a505d-7fc3-42f3-af19-3d303bc377a6");

        HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<MultiValueMap<String, String>>(map, headers);

        // 注意几个请求参数
        ResponseEntity<String> res =
                restTemplate.exchange("http://localhost:8887/safetydevice/yuanZhang/ownSituation",
                        HttpMethod.POST, requestEntity, String.class);

        JSONObject data = JSONObject.parseObject(res.getBody());
        List<Map<String, Object>> data1 = (List<Map<String, Object>>) data.get("rows");
        System.out.println(data1.get(0).get("elseNums"));
        return null;
    }
  • GET
    public String restTemplatelist() {
        Map<String, String> map = new HashMap<>();
        map.put("imei", "861854049739673");
        // 设置字符编码
        restTemplate.getMessageConverters().set(1,new StringHttpMessageConverter(StandardCharsets.UTF_8));
        HttpHeaders headers = new HttpHeaders();
        headers.set("api-key", "NDbJtnvOZILNxXmLtUYH=a981JQ=");

        String imeiNum = "861854049739673";
        // 注意几个请求参数
        ResponseEntity<String> res =
                restTemplate.exchange("http://api.heclouds.com/devices/getbyimei?imei="+imeiNum+"",
                        HttpMethod.GET, new HttpEntity<>(null, headers), String.class);

//        JSONObject data = JSONObject.parseObject(res.getBody()).getJSONObject("data");
        All imeiMsg = JSONObject.parseObject(res.getBody(), All.class);
        return imeiMsg.getData().getOnline();
    }

二、restTemplate.postForEntity(getForEntity)

  • json形式提交(APPLICATION_JSON)
//有参 请求体中json参数 设置header头
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.add("userId", String.valueOf(userId));
headers.add("token", token);

List<Map<String, Object>> mapList = new ArrayList<>();
Map hashMap = new HashMap();
hashMap.put("","");
hashMap.put("","");
// 加入list
mapList.add(hashMap);
// 转换
// JSON.toJSON(mapList).toString();

ResponseEntity<JSONObject> responseEntity = restTemplate.postForEntity(url, new HttpEntity<>(JSON.toJSON(mapList).toString(), headers), JSONObject.class);
  • 表单形式提交(MULTIPART_FORM_DATA)
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.MULTIPART_FORM_DATA);
headers.add("userId", String.valueOf(userId));
headers.add("token", token);

MultiValueMap paraMap = new LinkedMultiValueMap();
paraMap.add("","");
paraMap.add("","");


ResponseEntity<JSONObject> responseEntity = restTemplate.postForEntity(url, new HttpEntity<>(paraMap, headers), JSONObject.class);
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值