欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > 【微服务】feign使用

【微服务】feign使用

2025/2/6 14:34:57 来源:https://blog.csdn.net/2302_77182979/article/details/140557641  浏览:    关键词:【微服务】feign使用

【微服务】feign使用

  • 引入依赖
  • 启动类配置注解
  • 创建业务层
  • 使用项目调用
  • 可能会遇到的bug

01 引入依赖

  • Feign是Spring Cloud提供的一个声明式的伪Http客户端, 它使得调用远程服务就像调用本地服务一样简单, 只需要创建一个接口并添加一个注解即可。
  • 在需要使用feign的springboot的pom.xml下配置依赖
<!--fegin组件-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

02 springboot启动类配置注解

  • 在被远程调用接口的springboot项目启动类上加@EnableFeignClients注解
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients(basePackages = "com.mashang.tsorder.demos.web.service")//开启Fegin,配置业务类扫描包
public class xxxApplication {}

03 创建业务层

  • 在业务层编写调用接口
  • @FeignClient(“ts-order”),这里写注册中的项目名(“ts-order”),我使用的注册中心是nacos,具体使用是这篇文章nacos的快速使用-CSDN博客
  • 注入控制层
@FeignClient("ts-order")//这里写注册中的项目名
public interface OrderFeignService {//service层的新建接口类//需要完整的路径,controller路径+orderTset接口路径@GetMapping("/order/testOrder")public String orderTset();
}

04 使用项目调用

  • 直接注入OrderFeignService即可正常使用
@RestController
@RequestMapping("/tsUser")
public class TsUserController {@Autowiredprivate OrderFeignService orderFeignService;@GetMapping("/test")public String test(){String s = orderFeignService.orderTset();return "test:"+s;}
}

05 可能会遇到的bug

1.com.netflix.client.ClientException

  • 请检查配置中,这个bug意味着第三步创建业务层有问题,要么是@FeignClient(“ts-order”)和配置中心nacos不同,要么是这个项目没有在nacos中注册,检查配置中心

2.自动注入service失败

  • 请检查TsUserController(使用)对应的springboot启动类配置注解,(basePackages = “com.mashang.tsorder.demos.web.service”)有问题,没有成功扫描到OrderFeignService类

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com