微服务之openfeign实现远程调用的步骤

提示:这是一篇使用openfeign实现微服务中的调用笔记

文章目录

  • 前言
  • 一、导入依赖
  • 二、创建一个feign的包
    • 1.编写想要调用服务的接口
    • 2.在接口里面将你向调用的微服务方法的标识拿过来,例如 另一个微服务里面的如下方法
    • 3.将上面的方法在刚才定义的feign包下的接口里面定义
  • 三.注入调用
    • 1.代码如下(示例):
    • 2.访问成功,结果如下
  • 总结


前言

什么是openfeign:

答:openFeign是一种声明式、模板化的HTTP客户端。在Spring Cloud中使用OpenFeign,可以做到使用HTTP请求访问远程服务,就像调用本地方法一样的,开发者完全感知不到这是在调用远程方法,更感知不到在访问HTTP请求。


提示:以下是本篇文章正文内容,下面案例可供参考

一、导入依赖

	前提需引入nacos依赖且在nacos上面注册才能远程调用
  <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
  </dependency>

二、创建一个feign的包

1.编写想要调用服务的接口

在这里插入图片描述

2.在接口里面将你向调用的微服务方法的标识拿过来,例如 另一个微服务里面的如下方法

微服务之openfeign实现远程调用的步骤_第1张图片

3.将上面的方法在刚才定义的feign包下的接口里面定义

@FeignClient("gulimail-coupon")  //要调用的微服务在nacos上注册的名字
public interface CouponFeignService {
// @RequestMapping的请求路径一定要和你所要调用的微服务的请求路径一致
    @RequestMapping("/coupon/coupon/member/list")
    public R membercoupons();
}

三.注入调用

1.代码如下(示例):

    @Autowired
    private CouponFeignService couponFeignService;

    @RequestMapping("/coupons")
    public R test(){
        MemberEntity memberEntity = new MemberEntity();
        memberEntity.setNickname("张三");
//        远程获取优惠卷信息
        R membercoupons = couponFeignService.membercoupons();
        return R.ok().put("member",memberEntity).put("coupons",membercoupons.get("coupons"));
    }

2.访问成功,结果如下

微服务之openfeign实现远程调用的步骤_第2张图片


总结

以上就是今天要讲的内容,本文仅仅简单介绍了openFeign的使用,做个笔记记录一下!!

你可能感兴趣的:(微服务,java)