当前位置:   article > 正文

微服务-openFeign远程调用_使用openfeign调用不在一个项目里的其他服务

使用openfeign调用不在一个项目里的其他服务

微服务架构中的远程调用是指不同的微服务之间通过网络进行调用和通信。

例如A服务需要调用B服务的某个功能,那么就需要用到远程调用了。

这里使用的Feign框架是SpringCloud Alibaba中集成的openFeign,目前微服务框架还是比较流行SpringCloud Alibaba,生态完整、模块丰富。

下面使用openFeign来完成一个示例

这是使用A服务去调用B服务的一个接口

1. 引入依赖

<dependency>
		<groupId>org.springframework.cloud</groupId>
		<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 这里需要引入依赖的是A服务,也就是需要发起调用的服务

2. 在B服务的某个controller中添加一个测试方法

@RequestMapping("/B_testOpenFeign")
public R testOpenFeign() {
    return R.ok().put("B","被调用成功!");
}
  • 1
  • 2
  • 3
  • 4

3. 在A服务编写一个接口,告诉springcloud这个接口需要调用远程服务

@FeignClient("B服务的名称")
public interface testFeignService {
    @RequestMapping("/B服务controller的RequestMapping/B_testOpenFeign")
    public R testFeign();
}
  • 1
  • 2
  • 3
  • 4
  • 5

4. 在A服务的启动类中,使用注解开启远程调用

@EnableFeignClients(basePackages = "第3点中接口的所在包")
  • 1

5. 在A服务的随便一个controller中编写一个方法调用

@RequestMapping("/A_testOpenFeign")
public R test(){
    R result = testFeignService.testFeign();
    return R.ok().put("A","已调用成功!").put("B", result.get("B"));
}
  • 1
  • 2
  • 3
  • 4
  • 5

6. 启动两个服务,测试是否成功

  • 访问A服务的调用方法,得到如下response:
{
    "msg": "success",
    "A": "已调用成功!",
    "B": "被调用成功!",
    "code": 0
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

至此,远程调用测试成功。本文测试用例参考了谷粒商城,详情可以查看: openFeign远程调用

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/84515
推荐阅读
相关标签
  

闽ICP备14008679号