刚刚开通了一个公众号,会分享一些技术博客和自己觉得比较好的项目,同时会更新一些自己使用的工具和图书资料,后面会整理一些面试资料进行分享,觉得有兴趣的可以关注一下。
前言
最近的需求要发送请求给第三方服务,之前的微服务请求居然都是直接使用的CloseableHttpClient
,配置了一整套,麻烦的很。实际上Spring
使用CloseableHttpClient
封装了一套的,这个就是RestTemplate
。当然Feign
给RestTemplate
封装成接口了。这个后面再谈。
项目使用
当然因为涉及到返回的格式就是JSON
,可以不用设置请求头。
代码如下:
HttpHeaders headers = new HttpHeaders();
headers.set(CommonConstant.HeaderKey, signRes);
headers.setContentType(MediaType.APPLICATION_JSON);
RestTemplate restTemplate = new RestTemplate(httpComponentsClientHttpRequestFactory);
HttpEntity<Request> httpEntity = new HttpEntity<>(request, headers);
ResponseEntity<Response> responseEntity = restTemplate.postForEntity(url, httpEntity, Response.class);
以上只列了关键代码。
- 添加请求头
因为需求请求第三方需要在请求头验签的,所以需要添加一下验签的请求头需要使用到HttpHeaders
,这个里面可以添加各种请求头。 - 组装请求并封装
将请求头和request
一起封装进HttpEntity
,然后使用postForEntity
发送请求并获取响应,方法可以自动将entity
转换为json
,并将接收的json
转为entity
,这样就可以直接进行判断了。
当然还有其他方法,
getForEntity
和exchange
,最简单的就是直接使用Feign
。这个后面再研究!