• Feign


    一、Feign简介

    这里的“HTTP客户端”,指的是通过Feign,给远程服务发的就是HTTP请求

      

    二、Feign的使用

    2.1 使用场景说明

    在nacos里已经注册了两个微服务。计划使用Feign,使得gulimall-member 去远程调用 gulimall-coupon的服务

    2.2 被调用方gulimall-coupon 需要做的事情

    编写被调用的服务

      

    2.3 调用方gulimall-member 需要做的事情

    引入OpenFeign依赖

    由于本例是gulimall-member服务远程调用gulimall-coupon服务,因此需要在gulimall-member服务里引入feign包,gulimall-member服务就具有远程调用其他服务的能力。

    (Feign原来是Springcloud Netflix组件,由于其进入维护模式,Spring官方推出了OpenFeign来替代Feign)

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

    编写一个接口并@FeignClient, 告诉SpringCloud该接口需要调用远程服务

    0.新声明一个feign包,专门存放远程服务

    1.在接口上加上@FeignClient("gulimall-coupon") ,告诉springcloud这是一个远程服务端,要调用远程服务gulimall-coupon。会去nacos注册中心去找。

    2.至于具体调用gulimall-coupon微服务的哪个功能...调用哪个,就把其函数签名从被调用方gulimall-coupon完整的复制过来即可 (注意@RequestMapping的路径应该是全路径)

    开启远程调用功能@EnableFeignClients

    在gulimall-member的启动函数上添加注解@EnableFeignClients,并注明扫描包的全路径名。

    @EnableFeignClients注解会扫描basePackages包下所有被@FeignClient注解的类

    编写调用的服务

    左边是gulimall-member调用者(在浏览器输入request mapping的路径),右边是gulimall-coupon被调用者

  • 相关阅读:
    人月神教α阶段冲刺报告(6/12)
    人月神教α阶段冲刺报告(5/12)
    人月神教-α阶段冲刺报告(4/12)
    人月神教-α阶段冲刺报告(3/12)
    结对作业2
    结对作业1
    软工实践作业1
    Matrix Power Series(POJ 3233)
    Blocks(POJ 3734)
    Traveling by Stagecoach(POJ 2686)
  • 原文地址:https://www.cnblogs.com/frankcui/p/15178431.html
Copyright © 2020-2023  润新知