RestTemplate的使用

RestTemplate的使用

GET请求

getForObject

第一种
String result = externalRestTemplate.getForObject("http://127.0.0.1:8081/restTemplate/get", String.class);

第二种
String result = externalRestTemplate.getForObject("http://127.0.0.1:8081/restTemplate/get/{a}/{b}", String.class, "1","2");

第三种
Map<String, Object> map = new HashMap<>();
map.put("a", 1);
map.put("b", 2);
String result = externalRestTemplate.getForObject("http://127.0.0.1:8081/restTemplate/get/{a}/{b}", String.class, map);

getForEntity

第一种
ResponseEntity<String> forEntity = externalRestTemplate.getForEntity("http://127.0.0.1:8081/restTemplate/get", String.class);
String body = forEntity.getBody();

第二种
ResponseEntity<String> forEntity = externalRestTemplate.getForEntity("http://127.0.0.1:8081/restTemplate/get?a={a}&&b={b}", String.class, "1", "2");
String body = forEntity.getBody();

第三种
Map<String, Object> map = new HashMap<>();
map.put("a", 1);
map.put("b", 2);
ResponseEntity<String> forEntity = externalRestTemplate.getForEntity("http://127.0.0.1:8081/restTemplate/get?a={a}&&b={b}", String.class, map);
String body = forEntity.getBody();

POST请求

postForObject

第一种 传对象,不带参数
Map<String, String> requset = new HashMap<>();
requset.put("a", "1");
requset.put("b", "2");
String s = externalRestTemplate.postForObject("http://127.0.0.1:8081/restTemplate/post", requset, String.class);
        

第二种 有参数
Map<String, String> requset = new HashMap<>();
requset.put("a", "1");
requset.put("b", "2");
String s = externalRestTemplate.postForObject("http://127.0.0.1:8081/restTemplate/post?a={a}&b={b}", null, String.class, requset);

postForEntity

MultiValueMap<String, String> requestBody = new LinkedMultiValueMap<>();
requestBody.add("uid", signatureRequest.getUid());
requestBody.add("signature", signatureRequest.getSignature());
requestBody.add("timestamp", signatureRequest.getTimestamp());
requestBody.add("nonce", signatureRequest.getNonce());
requestBody.add("data", signatureRequest.getData());
//HttpEntity
HttpEntity<MultiValueMap> requestEntity = new HttpEntity<>(requestBody, new HttpHeaders());
//post
return externalRestTemplate.postForEntity(url, requestEntity, String.class);

通过请求接口,exchange()

方法一

get:
    Map<String, String> requset = new HashMap<>();
    requset.put("a", "1");
    requset.put("b", "2");
    ResponseEntity<String> exchange = externalRestTemplate.exchange("http://127.0.0.1:8081/restTemplate/get?a={a}&b={b}", HttpMethod.GET, null, String.class, requset);
    String body = exchange.getBody();
    
post:
    Map<String, String> requset = new HashMap<>();
    requset.put("a", "1");
    requset.put("b", "2");
    HttpEntity<Map> requestEntity = new HttpEntity<>(requset, null);
    ResponseEntity<String> exchange = externalRestTemplate.exchange("http://127.0.0.1:8081/restTemplate/post", HttpMethod.POST, requestEntity, String.class);
    String body = exchange.getBody();

方法二

get:
    Map<String, String> requset = new HashMap<>();
    requset.put("a", "1");
    requset.put("b", "2");
    RequestEntity requestEntity = new RequestEntity(HttpMethod.GET,new URI("http://127.0.0.1:8081/restTemplate/get"));
    ResponseEntity<String> exchange = externalRestTemplate.exchange(requestEntity,String.class);
    String body = exchange.getBody();
    return body;

post:
    Map<String, String> requset = new HashMap<>();
    requset.put("a", "1");
    requset.put("b", "2");
    RequestEntity requestEntity = new RequestEntity<Map>(requset,HttpMethod.POST,new URI("http://127.0.0.1:8081/restTemplate/post"));
    ResponseEntity<String> exchange = externalRestTemplate.exchange(requestEntity,String.class);
    String body = exchange.getBody();
    

返回结果是一个List

String url = "http://127.0.0.1:8081/restTemplate/get" + "/getall";
ParameterizedTypeReference<List<Map>> parameterizedTypeReference = new ParameterizedTypeReference<List<Map>>() {
};
ResponseEntity<List<Map>> response = externalRestTemplate.exchange(url, HttpMethod.GET, null, parameterizedTypeReference);
List<Map> deviceList = response.getBody();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值