SpringCloud(一.1)微服务远程调用 -- RestTemplate
项目结构
主项目cloud-demo下有两个子项目(微服务),每个项目都代表独立模块,都有自己独立的数据库。
每个项目(微服务)只负责自己模块的数据,互不干涉。
场景描述:
根据订单ID查询订单详情的同时,把订单所属的用户信息一并带回。
这里就涉及微服务之间的相互调用
实现:
1、注册RestTemplate
在订单微服务项目中的 Application启动类中注册RestTemplate

/* * 创建RestTemplate并注入Spring容器 * */ @Bean public RestTemplate restTemplate(){ return new RestTemplate(); }

@RestController @RequestMapping("order") public class OrderController { @Autowired private OrderService orderService; @Autowired private RestTemplate restTemplate; @GetMapping("{orderId}") public Order queryOrderByUserId(@PathVariable("orderId") Long orderId) { // 根据id查询订单 Order order = orderService.queryOrderById(orderId); //利用RestTemplate发送http请求,根据用户ID查询用户 //url路径 String url ="http://localhost:8081/user/"+order.getUserId(); User user = restTemplate.getForObject(url, User.class); //赋值 order.setUser(user); return order; } }
用户微服务中提供了相关接口截图:
效果展示:
总结:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2021-03-18 Lombok中关于@Data的使用