shop-main-master 和 shop-search-api之间是如何通信的

来源:7-24 商品搜索接口的实现 (一)

404_

2023-02-11

老师说过 shop-main-master 的apiv1.GET("/product/search", ApiProductControler.GoodsSearch) 调用的的是 shop-search-api中的 /product-search接口
请问 shop-main-master 和 shop-search-api之间是如何通信的呢?是用GRPC服务吗?具体代码在哪里?

写回答

1回答

少林码僧

2023-02-13

 shop-main是通过http请求调用shop-search-api的,具体的代码路径
首先找到请求的路由入口 在shop-main/routers/router.go文件中181行

apiv1.GET("/product/search", ApiProductControler.GoodsSearch)

然后可以看到调用的是ApiProductControler的GoodsSearch,在shop-main/internal/controllers/front/ProductController.go

文件的52行定义了GoodsSearch这个方法,然后在这个文件的71行调用了SearchGoods方法

vo, total, page := productService.SearchGoods()

SearchGoods方法在文件shop-main/internal/service/product_service/Product.go中第165行中定义,

接着在这个文件的196行中我们可以看到下面这行代码

httpCode, body, err := httpclient.Get(productSearchHost+productSearchUri, params, httpclient.WithTTL(time.Second*5),

这里就是通过http调用shop-search-api中的/api/v1/product-search接口了

1
0

海量数据高并发场景,构建Go+ES8企业级搜索微服务

全新 ES8 配合技术组件,实现高性能搜索

267 学习 · 54 问题

查看课程