OPen Feign的使用


一、OPen Feign是什么?

spring cloud openFeign是对feign的增强,使其支持了Spring MVC注解,另外还整合了Ribbon和Nacos,从而使用的更加方便;它可以做到请求远程服务时就像本地方法一样的体验,使开发者无需关注与远程的交互细节,更无需关注分布式环境开发。


二、使用步骤


1.引入依赖

首先我们在新创建一个商品子模块,然后我们库存服务通过openFeign去调用。

由于openFeign属于spring cloud的内容,所以我们需要引用spring cloud的管理依赖,

当然在前面我已经在父工程引用过了,接下来直接在库存服务引用openFeign依赖。

<!--        spring cloud openfeign-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>


2.创建调用服务的接口

/**
 * name: 调用服务配置的spring.application.name,也就是服务的名称
 * path: 对应controller的路径
 */
@FeignClient(name = "product-server",path = "/product")
public interface ProductFeignServer {

    @PostMapping
    public String placeProduct();


    @GetMapping
    public String findProduct();
}


3.具体使用

OPen Feign的使用

直接依赖进来后会报错,此时需要在启动类上添加@EnableFeignClients,添加完成后就不会报错了。

@GetMapping
public String findOrder(){
    String product = productFeignServer.findProduct();
    if(StringUtils.isNotEmpty(product)){
        return "查询库存成功 " + product;
    }
    return "查询库存成功";
}

然后就可以像调用本地方法一样的去调用远程服务,所以还是比较清晰方便的。

OPen Feign的使用

 从截图可以看出,库存成功调用商品服务。

总结

Open Feign总体来说使用还是比较方便的,可能有人说它还需要写对应的接口层一点都不方便,实际上这种方式更符合我们的思维逻辑,就像调用本地方法一样更加的清晰明了,总体来说还是弊大于利的。

上一篇:周总结


下一篇:设计模式2-工厂模式