赞
踩
我是想用product服务去调用coupon服务中的一个方法,保存积分表的信息与数据,传去的是保存好积分信息的一个对象(post方式,json对象),但我一调用远程服务的方法就出现bug,调用不成功。
Feign是一种负载均衡的HTTP客户端, 使用Feign调用API就像调用本地方法一样,从避免了 调用目标微服务时,需要不断的解析/封装json 数据的繁琐。基于注解来实现,具备可插拔的特性;
FeginClient 注解@Target(ElementType.TYPE)修饰,表示FeginClient注解的作用目标在接口上。FeginClient注解对应的属性:
name : 指定FeginClient 的名称,如果项目使用了Ribbon , name属性会作为微服务的名称,用于服务发现。
url:url一般用于调试,可以手动指定@FeginClient 调用地址
decode404 : 当发生404错误时,如果会调用decoder解码,否则抛出FeginException
configuration:Fegin配置类,可以自定义Fegin的Encoder ,Decoder ,LogLevel ,Contract
fallback:定义容错的处理类,当调用远程接口失败或超时,回调用对应接口的容错逻辑,fallback指定的类必须实现@FeginClient 标识的接口。
fallbackFactory : 工厂类,用于生成fallback实例,通过这个属性我们可以实现每个接口通用的容错逻辑,减少代码冗余
path : 定义当前FeginClient的统一前缀。
输出如下:
这是product中调用远程服务的方法:
product中的远程调用的接口fegin,调用的是gulimail-coupon服务:
nacos的服务列表:
这是在coupon中的controller相关的映射,调用sava方法:
一直卡在这,控制台一直输出:
希望有人解答 ,感谢
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。