Feign~服务调用

Feign~服务调用,第1张

目录

1 前言

2 Feign

2.1 什么是feign

2.2 Feign的使用

1 前言

之前我们在服务中用订单微服务调用了商品微服务,这种远程服务,我们使用的是restTemplate。但是在我们的微服务中肯定有提供远程调用的组件,像feign和openFeign。今天我们先简单了解下feign的简单使用。

2 Feign 2.1 什么是feign

Feign是SpringCloud提供的一个声明式的伪Http客户端,它使得调用远程服务就像调用本地服务一样简单,只需要创建一个接口并且添加一个注解即可。

2.2 Feign的使用

1)feign的依赖


    org.springframework.cloud
    spring-cloud-starter-openfeign

2)在启动类上加上@EnableFeignClients注解

3)在调用方添加接口

 比如:之前是在订单微服务中调用商品微服务的接口,采用的是如下的方式。

现在在订单微服务中,添加接口。如下:

import com.liubujun.Product;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * @Author: liubujun
 * @Date: 2022/5/4 14:55
 */

@FeignClient(value = "server-product") // value为用于指定调用nacos下哪个微服务
public interface ProductService {

    /**
     *  其实feignclient的value + RequestMapping的value值就是完整的请求地址
     *  Product product
     *                 = restTemplate.getForObject("http://server-product/product/" + pid, Product.class);
     * @param pid
     * @return
     */
    @RequestMapping("/product/{pid}")
    Product findById(@PathVariable Integer pid);
}

4)启动nacos,重启服务.访问 http://localhost:8091/order/prod/2成功。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/793437.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-06
下一篇 2022-05-06

发表评论

登录后才能评论

评论列表(0条)

保存