远程调用过程 nacos openfeign
两个服务A,B
A调用B的方法,现在B方式写好业务,然后定义方法名,A调用方法名
映入product类,调用方法getCategory
// 查询分类 Category category = productFeignClient.getCategory(skuInfo.getCategoryId());
定义方法名(可以独立写一个模块专门定义方法,调用的地址为内部调用,所以所有的模块需要注入到nacos中)
@GetMapping("/api/product/inner/getCategory/{categoryId}")
public Category getCategory(@PathVariable("categoryId") Long categoryId);
通过地址调用B实现的业务逻辑,从而返回想要的数据
@ApiOperation(value = "根据skuId获取sku信息") @GetMapping("inner/getSkuInfo/{skuId}") public SkuInfo getSkuInfo(@PathVariable("skuId") Long skuId) { return skuInfoService.getById(skuId); }
/**
* @Author gaosy
* @Date 2023/8/30 21:08
* @FeignClient(value = "service-product") 服务名称
*/
@FeignClient(value = "service-product")
public interface ProductFeignClient {
@GetMapping("/api/product/inner/getCategory/{categoryId}")
public Category getCategory(@PathVariable("categoryId") Long categoryId);
@GetMapping("/api/product/inner/getSkuInfo/{skuId}")
public SkuInfo getSkuInfo(@PathVariable("skuId") Long skuId);
}
nacos注入方法。引入nacos依赖,配置文件
spring:
datasource:
url: jdbc:mysql://localhost:3306/cloud_order?useSSL=false
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
application:
name: orderService
cloud:
nacos:
server-addr: localhost:8848 #ip地址。以及开放的端口名称
discovery: #集群名称
cluster-name: HZ
浙公网安备 33010602011771号