今天来学习SpringWeb中的RestTemplate, RestTemplate帮我们简化了在程序中发送http/https请求的大量配置, 甚至是开箱即用, 直接new RestTemplate()便可使用.
举个简单的例子
RestTemplate restTemplate = new RestTemplate();
Map response = restTemplate.getForObject(url, HashMap.class);
getForObject() 和 postForObject() 是比较常用的两个方法, 顾名思义, 就是通过get/post请求获取数据并封装到指定的类里面, 默认restTemplate会使用Jackson封装到对象中.
在这里顺便介绍Spring另一个工具类 UriComponentsBuilder 当我们需要封装请求参数到url上面的时候, 这工具类可以非常方便的帮我们加上参数, 简单例子:
String url = "http://localhost:8088/test";
URI uri = UriComponentsBuilder.fromHttpUrl(url)
.queryParam("msg", "lwz")
.build().toUri();
restTemplate.getForObject(uri, HashMap.class);
当然也可以使用原生写法:
String url = "http://localhost:8088/test?msg={msg}";
HashMap<String, Object> uriVariables = new HashMap<>();
uriVariables.put("msg", "lwz");
restTemplate.getForObject(url, HashMap.class, uriVariables);
哪种写法更方便, 各位见仁见智.
今天先写到这, 有空再更
网友评论