首页 > 其他分享 >SpringCloud(一.2)微服务远程调用 -- Feign

SpringCloud(一.2)微服务远程调用 -- Feign

时间:2024-03-25 14:13:31浏览次数:26  
标签:Feign 调用 -- SpringCloud RestTemplate 远程 cloud

通过RestTemplate实现远程调用后存在一些问题,如图:

RestTemplate缺点:

代码可读性差,编程体验不统一。

参数复杂URL难以维护。

 

Fegin是一个声明式的http客户端(https://github.com/OpenFegin/fegin),其作用就是帮助我们优雅的实现http请求的发送,解决上面RestTemplate的痛点。

 

Fegin的定义和使用

1、引入依赖

<!--feign客户端依赖-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>

2、在启动类添加注解开启Feign功能  @EnableFeignClients

3、编写Feign客户端

新建 Client 包 ,新建接口 UserClient。

 

 

 

标签:Feign,调用,--,SpringCloud,RestTemplate,远程,cloud
From: https://www.cnblogs.com/JoeYD/p/18094254

相关文章

  • Kubectl cp 语法
    Kubectl cp语法kubectlcp<file-spec-src><file-spec-dest>[options]kubectlcp:用于pod和外部的文件交换,将文件和目录复制到容器或从容器复制到容器。-c,--container='':容器名称。如果省略,将选择荚中的第一个容器--no-preserve=false:复制的文件/目录的所有权和权限将......
  • 为什么 export 导出一个字面量会报错,而使用 export default 就不会报错?
    核心其实总的来说就是export导出的是变量的句柄(或者说符号绑定、近似于C语言里面的指针,C++里面的变量别名),而exportdefault导出的是变量的值。需要注意的是:模块里面的内容只能在模块内部修改,模块外部只能使用。esModule在语法层面做了一层浅层的保护(即将import导入的变量......
  • 11、ORM外键与表关系
    fromconfigimportapp,dbfrommodelimportUser,Articleimportflask_bcryptfromflaskimportrender_template@app.route("/")defhello_world():return"helloflask!"#添加用户@app.route("/user/add")defuser_add():......
  • Ubuntu根盘扩容
    参考https://blog.csdn.net/weixin_51480590/article/details/127767660虚拟机关机之后,扩展磁盘增加容量fdisk-lDisk/dev/sda:40GiB,42949672960bytes,83886080sectorsDiskmodel:VMwareVirtualSUnits:sectorsof1*512=512bytesSectorsize(logical/ph......
  • windows10便签怎么调出来 win10便笺功能怎么使用
    对于许多上班族来说,电脑不仅是工作的必备工具,更是一个高效管理日常任务和信息的平台。在这个信息爆炸的时代,如何在繁忙的工作中快速记录、查看和提醒重要事项,成为提升工作效率的关键。便签软件,因其简单、便捷的特性,逐渐成为上班族电脑桌面的常客。那么Windows10便签怎么调出来?win......
  • 分布式理论 CAP 和 BASE
    本文首发于https://youngxhui.top/2024/03/distributed-theory/CAP理论在分布式系统中最重要的一条理论为CAP理论。这个理论是由加州大学伯克利分校的计算机科学家EricAllenBrewer在2000年提出的一个猜想,由2002年,麻省理工的xxx和xxx发表了该猜想的证明,使得该猜......
  • 青蛙过河(前缀+二分)
    1importjava.util.*;23publicclassMain{4publicstaticvoidmain(String[]args){5Scannerscanner=newScanner(System.in);6intn=scanner.nextInt();7longx=scanner.nextLong();8//前缀和9lo......
  • 特定领域软件架构(DSSA)
         ......
  • await 到底在等什么?
    核心其实await本质上等的是:后面的thenable对象的then方法调用resolve或者reject。这里面其实包含三个细节:thenable对象其实就是包含then方法的普通对象。如果await后面的对象不是一个thenable对象,那么系统会将它包装成thenable对象。Promise对象具有the......
  • C++循环结构(下)
    for循环语句作用:满足循环条件,执行循环语句语法:for(起始表达式;条件表达式;末尾循环体){循环语句}#include<iostream>usingnamespacestd;intmain(){ //从数字0打印到9 for(inti=0;i<10;i++){ cout<<i<<endl; } system("pause"); return0;}for循环语......