zoukankan      html  css  js  c++  java
  • 阶段5 3.微服务项目【学成在线】_day09 课程预览 Eureka Feign_07-Feign远程调用-Feign测试

    2.2.1 Feign介绍
    Feign是Netflix公司开源的轻量级rest客户端,使用Feign可以非常方便的实现Http 客户端。Spring Cloud引入
    Feign并且集成了Ribbon实现客户端负载均衡调用。

    上节课的restTemplate的方式需要定义url地址 还需要定义返回的类型Map

    相当于调用本地方法一样去远程调用。

    引入feign

    starter‐openfeign里面就继承了ribbon。所以ribbon的引用可以注释掉了。 

    讲义里面 还说要引入feign-ok-http

    定义client的包,定义借口而CmsPageClient

    定义接口方法



    feign需要告诉ribbon调用哪个服务




    注入CmsPageClient


    测试

    运行测试方法提示找不到Bean


    加注解 开启FeignClient注解


    再次运行有值返回

    工作原理

    Feign工作原理如下:
    1、 启动类添加@EnableFeignClients注解,Spring会扫描标记了@FeignClient注解的接口,并生成此接口的代理
    对象
    2、 @FeignClient(value = XcServiceList.XC_SERVICE_MANAGE_CMS)即指定了cms的服务名称,Feign会从注册中
    心获取cms服务列表,并通过负载均衡算法进行服务调用。
    3、在接口方法 中使用注解@GetMapping("/cms/page/get/{id}"),指定调用的url,Feign将根据url进行远程调
    用。

    注意点

    2.2.4 Feign注意点
    SpringCloud对Feign进行了增强兼容了SpringMVC的注解 ,我们在使用SpringMVC的注解时需要注意:
    1、feignClient接口 有参数在参数必须加@PathVariable("XXX")和@RequestParam("XXX")
    2、feignClient返回值为复杂对象时其类型必须有无参构造函数。

  • 相关阅读:
    LeetCode 10 Regular Expression Matching(字符串匹配)
    LeetCode 9 Palindrome Number(回文数字判断)
    操作系统期末复习资料分享
    计算机网络那些事~(二)
    seL4之hello-3征途
    计算机网络那些事~(一)
    seL4之hello-2旅途(完成更新)
    博客声明
    seL4环境配置
    Canvas链式操作
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/11664486.html
Copyright © 2011-2022 走看看