黑马商城项目—服务调用

使用起因

之前我们完成了拆分购物车模块,但当我们进行测试查询时: 我们注意到,其中与商品有关的几个字段中:最新状态和库存为默认值,最新价格为空!这就是因为我们注释掉了查询购物车时,查询商品信息的相关代码

 

那么,我们该如何在购物车服务中实现对商品服务的查询呢?


RestTemplate

Spring给我们提供了一个RestTemplate的API,可以方便的实现Http请求的发送。
同步客户端执行HTTP请求,在底层HTTP客户端库(如JDK HttpURLConnection、Apache HttpComponents等)上公开一个简单的模板方法API。RestTemplate通过HTTP方法为常见场景提供了模板,此外还提供了支持不太常见情况的通用交换和执行方法。 RestTemplate通常用作共享组件。然而,它的配置不支持并发修改,因此它的配置通常是在启动时准备的。

其中提供了大量的方法,方便我们发送Http请求,例如

 


 远程调用

 接下来,我们修改cart-service中的中com.hmall.cart.service.impl.CartServiceImplhandleCartItems方法,发送http请求到item-service

可以看到,利用RestTemplate发送http请求与前端ajax发送请求非常相似,都包含四部分信息:

  • ① 请求方式

  • ② 请求路径

  • ③ 请求参数

  • ④ 返回值类型

最后重启cart-service,再次查询购物车接口文档:

可以看到,所有商品相关数据都已经查询到了 

在这个过程中,item-service提供了查询接口,cart-service利用Http请求调用该接口。因此item-service可以称为服务的提供者,而cart-service则称为服务的消费者或服务调用者

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值