RestTemplate之post,get请求

1.RestTemplate之post请求

A.带header并传递给第三方数据格式如下

{
    "version": "1.0.0",
    "token": "token",
    "sign": "sign"
}

如下组织数据与传递

// header数据
HttpHeaders headers = new HttpHeaders();
headers.set("Authorization", "Basic xxx");
headers.set("Content-Type", "application/json");
headers.set("Accept", "application/json");

// 组织要传递的数据
Map<String,Object> requestBody = new HashedMap();
requestBody.put("version", "1.0.0");
requestBody.put("token", "token");
requestBody.put("sign", "sign");

String  requestUrl = "请求的URL";
HttpEntity<Map<String, Object>> requestEntity = new HttpEntity<>(requestBody, headers); 
RestTemplate restTemplate
= new RestTemplate();
ResponseEntity
<String> response = restTemplate.postForEntity(requestUrl, requestEntity, String.class);

接收方收到数据格式如下

{
    "token": "token",
    "sign": "sign",
    "version": "1.0.0"
}

B.带header并传递给第三方数据格式如下

{
    "action": "action",
    "body": {
        "version": "version",
        "sign": "sign",
        "content": {
            "id": "1",
            "name": "name"
        }
    }
}

如下组织与传递

// header数据
HttpHeaders headers = new HttpHeaders();
headers.set("Authorization", "Basic xxx");
headers.set("Content-Type", "application/json");
headers.set("Accept", "application/json");

// 组织数据
Map<String, Object> paramMap = new HashedMap();
Map<String,Object> subMap = new HashedMap();
Map<String,String> bodyText = new HashedMap();

bodyText.put("id","1");
bodyText.put("name","name");

subMap.put("version","version");
subMap.put("sign","sign");
subMap.put("content",bodyText);

paramMap.put("action", "action");
paramMap.put("body", subMap);

String requestUrl = "请求的URL";

HttpEntity<Map<String, Object>> httpEntity = new HttpEntity<>(paramMap, headers);
RestTemplate restTemplate = new RestTemplate(); 
ResponseEntity<String> response = restTemplate.exchange(requestUrl, HttpMethod.POST, httpEntity, String.class, paramMap);

 接收方收到数据格式如下

{
    "action": "action",
    "body": {
        "content": {
            "name": "name",
            "id": "1"
        },
        "sign": "sign",
        "version": "version"
    }
}

 2.RestTemplate之get请求

A.传递header并通过URL传递参数 a=AA&b=BB

// header数据
HttpHeaders headers = new HttpHeaders();
headers.set("Authorization", "Basic xxx");
headers.set("Content-Type", "application/json");
headers.set("Accept", "application/json");

String requestUrl = "请求的URL?a=AA&b=BB";
Map<String,Object> paramMap = new HashedMap();
HttpEntity<Map<String, Object>> httpEntity = new HttpEntity<>(paramMap, headers);
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<String> response = restTemplate.exchange(requestUrl, HttpMethod.GET, httpEntity, String.class, paramMap);
原文地址:https://www.cnblogs.com/lin3615/p/13745990.html