SpringCloud——服务拆分

CSDN话题挑战赛第2期
参赛话题:学习笔记

学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。这个过程中,我们去记录思考的过程,便于日后复习,梳理自己的思路。学习之乐,独乐乐,不如众乐乐,把知识讲给更多的人听,何乐而不为呢?

请添加图片描述
个人名片:

博主酒徒ᝰ.
个人简介沉醉在酒中,借着一股酒劲,去拼搏一个未来。
本篇励志这句话不是很文雅,彻底鄙视那些害怕别人超越自己而拒绝回答别人问题的程序员。

请添加图片描述
此笔记基于B站黑马程序员Java《SpringCloud微服务技术栈》,SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式

【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 点击观看

一、初步使用

资料里的压缩包直接解压,然后使用解压。
注意:application.yml中的spring.datasource.password
image.png
提示:密码记得改成自己的密码。

二、案例

1.根据订单id查询订单功能

image.png
这里的"user"为null,我们应该根据userId查询到user的信息并显示。

  1. 注册RestTemplate

在(配置文件)启动类中配置RestTemplate

/**
 * 注册RestTemplate
 * @return
 */
@Bean
public RestTemplate restTemplate(){
    return new RestTemplate();
}
  1. 调用RestTemplate
/**
 * 查询user信息
 * @param orderId
 * @return
 */
@GetMapping("{orderId}")
public Order queryOrderByUserId(@PathVariable("orderId") Long orderId) {
    //1.根据id查询订单
    Order order = orderService.queryOrderById(orderId);
    //2.获取订单中的userid
    Long userId = order.getUserId();
    //3.设置查询user的地址
    String url = "http://localhost:8081/user/" + userId;
    //3.1查询user
    User user = restTemplate.getForObject(url, User.class);
    //4.封装查询结果
    order.setUser(user);

    return order;
}

注意:url中的地址是user地址,且端口是8081

三、知识点

  1. RestTemplate

进行地址查询返回相应的数据信息。
有Spring提供的HTTP请求工具,提供常见的Rest请求。

restTemplate.getForObject(url, map, User.class);

分析:
请求方式:GET
请求路径:url
请求参数:map(其中存放着请求参数key/value)
返回类型:User

  • 8
    点赞
  • 7
    收藏
  • 打赏
    打赏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:终极编程指南 设计师:CSDN官方博客 返回首页
评论 14

打赏作者

酒徒ᝰ.

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值