微服务的测试

本文介绍了如何在订单微服务中通过RestTemplate调用用户微服务获取缺失的用户信息,展示了服务提供者与服务消费者的交互过程。通过实例展示了如何注册RestTemplate并实现远程调用,以完善订单数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当前测试结果如下:
    - 用户微服务:
        {"id":1,"uname":"猴哥","address":"沈阳"}
    - 订单微服务:
        {"id":1,"uid":1,"name":"小快乐","price":25,"num":10,"user":null}
    此时订单信息中用户的数据并没有,其实简单:在订单微服务中发起http请求【http://localhost:9001/user/1】。
    基本步骤:
    (1)注册一个RestTemplate实例
        在订单微服务的启动类直接注册即可。
            // 注册一个RestTemplate
            @Bean
            public RestTemplate restTemplate() {
                return new RestTemplate();
            }
    (2)在订单微服务的服务层实现类中发起远程调用:注入RestTemplate。
            // 自动注入RestTemplate
            @Resource
            private RestTemplate restTemplate;
                
    (3)将远程调用的用户信息封装在订单信息对象中即可。
            // 查询订单
            Orders order = orderMapper.findOrdersById(id);
            // 远程调用用户微服务获取用户信息
            // 1、准备url
            String url = "http://localhost:9001/user/" + order.getUid();
            // 2、发起远程调用
            User user = restTemplate.getForObject(url, User.class);
            // 将用户对象封装到订单对象中
            order.setUser(user);
            // 将订单对象返回
            return order;
    测试结果:
        {"id":3,"uid":3,"name":"内存条","price":580,"num":2,"user":{"id":3,"uname":"师傅","address":"唐朝"}}
    
    - 理解服务的提供者和服务的消费者
        在服务调用关系中,会有两个角色即是:服务提供者和服务消费者。
    (1)服务提供者
        简单的理解就是一次业务中,被其他服务所调用的服务。【本服务暴露接口给其他的微服务】
    (2)服务消费者
        简单的理解就是一次业务中,调用其他微服务的服务。【调用其他的微服务暴露的接口】
    
        注意:
            - 二者的角色并不是绝对的,而是相对于业务才能具体的定下。
            - 一个微服务既可以是服务提供者也可以是服务消费者。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

维柒柒

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

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值