![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5CZ3EjMmR2N2YWM3QjNllTO3ITY0Q2YiZGZmJWM2QWZz8CX5d2bs92Yl1iclB3bsVmdlR2LcNWaw9CXt92Yu4GZjlGbh5yYjV3Lc9CX6MHc0RHaiojIsJye.png)
在初始阶段,我们都是用RestTemplate作为服务间调用的方法。但是慢慢这种方式已经被废弃掉了。我们通过实现get请求做记录。
@Component
public class UserUtil {
@Autowired
RestTemplate restTemplate;
/**
* 获取用户信息
*
* @return
*/
public User getUser() {
User resultVO = new User();
// 将请求头和请求参数设置到HttpEntity中
// 获取上下文与request对象
RequestAttributes requsetAttributes = RequestContextHolder.currentRequestAttributes();
HttpServletRequest request = ((ServletRequestAttributes)requsetAttributes).getRequest();
// 获取token
String token = request.getHeader("token");
Map<String, Object> params = new HashMap<>();
params.put("token", token);
// 地址
String url = "http://服务名/接口地址?参数";
// 发送feign请求,参数(地址,返回参数,入参)
resultVO = restTemplate.getForObject(url, User.class, params);
return resultVO;
}
}
这里有个坑 入参一定要这么写
String token = request.getHeader("token");
Map<String, Object> params = new HashMap<>();
params.put("token", token);