HttpClient系列(三),SpringBoot RestTemplate

目录



正文


RestTemplate是Spring官方提供REST Client。以一种更优雅的方式发送Http请求。其底层也是基于对HttpURLConnection的封装。

那么既然是对HttpURLConnection的封装,使用起来肯定就更简单了。请看一个GET请求:

RestTemplate restTemplate = new RestTemplate();
String content = restTemplate.getForObject("http://www.baidu.com", String.class);
System.out.println(content);

再看POST请求:

HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
MultiValueMap<String, String> formData = new LinkedMultiValueMap<>();
formData.add("page", "1");
formData.add("count", "5");
HttpEntity<MultiValueMap<String,String>> request = new HttpEntity<>(formData, headers);
String content = restTemplate.postForObject("https://api.apiopen.top/getWangYiNews", request, String.class);
System.out.println(content);

这里特别提一下HttpEntity的作用。HttpEntity是用来设置POST传递的参数,笔者这里模拟表单提交,通过MultiValueMap构造一个简直对的表单,然后传递给目标接口。特别要注意的是,需要设置好header的ContentType类型,否则会导致参数传递失败。

本博客采用 知识共享署名-禁止演绎 4.0 国际许可协议 进行许可

本文标题:HttpClient系列(三),SpringBoot RestTemplate

本文地址:https://dev-tang.com/post/2020/05/httpclient-resttemplate.html

推荐阅读