• 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

  • 相关阅读:
    译文伪原创的全文翻译软件
    计算机网络---传输层的概述
    计算机编码与解码&编码表
    【android开发-10】android中四种布局详细介绍
    【JS高级】ES6_参数增强、解构的简谈与应用_14
    看到那些自以为是,却实际上很愚蠢的家长。
    操作系统——计算机系统概述补充
    OC Extension 检测手机是否安装某个App(源码)
    国内adc芯片公司
    C语言,指针的一些运算
  • 原文地址:https://blog.csdn.net/m0_65144570/article/details/127040596