如何正确使用RestTemplate【四】

1,825 阅读2分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

复习一下下

前几篇文章,我们将RestTemplate所提供的各个请求类型的方法都看了个遍,相信现在已经有了基础的认识了,但是我们没有说到的一项,那就是‘参数多个可选’,到底是哪些参数呢?要如何选择呢?

从这篇文章开始,我们就要开始学习具体的方法使用方式了,准备好了,每天进步一点点。

请求方法参数分析

Get请求

共有参数介绍:

url:访问链接Url,没什么可说的。

responseType:返回响应的参数类型,比如返回的参数是个List,那么这个参数就应该传List.class。

getForObject

1.public <T> T getForObject(String url, Class<T> responseType, Object... uriVariables)

此方法我们来主要介绍一下Object... uriVariables,从名称来看,其实就是访问请求的url参数,至于Object...,那自然就是可以传输多个,使用起来如下代码即可:

List<Map<String,String>> list = restTemplate.getForObject(url, List.class,"first param","two param");

2.public <T> T getForObject(String url, Class<T> responseType, Map<String, ?> uriVariables)

此方法我们来主要介绍一下Map<String, ?> uriVariables,上面说过了,请求URL的参数,这里不同的是Map类型,使用起来如下代码即可:

Map<String,String> map = new HashMap<>;
map.put("Frist","first param");
map.put("Two","two param");
List<Map<String,String>> list = restTemplate.getForObject(url, List.class, map);

3.public <T> T getForObject(URI url, Class<T> responseType)

这个方法就不用多说了,只传输url和对应的返回参数类型即可。

getForEntity

getForEntiy,除了返回的参数的不同之外,没有什么的区别,不做过多的解释,给个代码示例自己学习吧。

1.public <T> ResponseEntity<T> getForEntity(String url, Class<T> responseType, Object... uriVariables)

ResponseEntity<List> entity = restTemplate.getForEntity(url, List.class,"first param","two param");
System.out.println(entity.getBody());

2.public <T> ResponseEntity<T> getForEntity(String url, Class<T> responseType, Map<String, ?> uriVariables)

Map<String,String> map = new HashMap<>;
map.put("Frist","first param");
map.put("Two","two param");
ResponseEntity<List> entity = restTemplate.getForEntity(url, List.class, map);
System.out.println(entity.getBody());

3.public <T> ResponseEntity<T> getForEntity(URI url, Class<T> responseType)

小结

今天我们又学习了Get请求相关方法的使用方式,你是否有所收获呢?