复习一下下
前几篇文章,我们将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请求相关方法的使用方式,你是否有所收获呢?