RestTemplate学习笔记

今天来学习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 uriVariables = new HashMap<>();
uriVariables.put("msg", "lwz");
restTemplate.getForObject(url, HashMap.class, uriVariables);

哪种写法更方便, 各位见仁见智.

今天先写到这, 有空再更

你可能感兴趣的:(RestTemplate学习笔记)