当前位置: 首页 > 编程日记 > 正文

使用feign调用注解在eureka上的微服务,简单学会微服务

使用feign调用注解在eureka上的微服务。

首先,确保所有服务(调用方与被调用方)都被注册在同一个eureka服务上。

1. 在调用方添加依赖(万事第一步,加依赖)

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

2. 添加feignClient,下面以FeignService服务为例

其中:

xxx-xxx-xxx-xxxx是被调用方的服务名,即注册在eureka上的名字。

/aa/bb/cc是被调用方的服务

@FeignClient(value = "xxx-xxx-xxx-xxxx", fallback = FeignServiceFallback.class)
public interface FeignServiceClient {
@RequestMapping(value = "/aa/bb/cc",method = RequestMethod.POST)
String sendMessage(@RequestParam("p1")String p1,@RequestParam("p2")String p2);
}

3. 添加错误处理类

这里的错误处理类的作用就是在服务调用不通时,所要进入的类,我们可以在这里组错误信息,或者调用失败的后续操作等等。

@Slf4j
public class FeignServiceFallback implements FeignServiceClient {@Overridepublic String sendMessage(String p1, String p2) {log.info("调用xxx服务失败!");return "调用xxx服务失败!";}
}

4. 调用被调用方的方法和服务

@Resource
private FeignServiceClient feignServiceClient;public void feignTest(){String res =  feignServiceClient.sendMessage("我是参数一","我是参数二");
}

以上,我们就实现了了使用feign进行微服务之间的调用。

相关文章:

快速排查feign.FeignException: status 500 …

feign.FeignException: status 500 … 总结一下feign报500的时候快速排查问题的方法&#xff0c; 这个bug容易出现的地方分别为: 1. 远程调用的时候feign的注册信息有没有写错,比如少一个斜杠什么之类的 FeignClient(value "testservice",path "/newinter…

手动将web项目的class文件打成jar包,手动打jar包,java -cvf,IDE打包底层指令

手动将web项目的class文件打成jar包。 我们的项目在使用IDE进行编译后&#xff0c;在项目的target目录下将会生成class文件。我们可以将class文件打成jar包。 使用的到命令为&#xff1a; 在target目录下打开命令窗口 jar -cvf xxx.jar * 可供的选项包括: -c 创建新的归档文件…

科学处理java.lang.StackOverflowError: null异常

java.lang.StackOverflowError: null异常处理 在项目运行中出现StackOverflowError 首先要检查在编码中是否有明显的递归编码,比如死循环或者无限循环调用。 而编码中并没有出现使用递归&#xff0c;这时候可以查看一下表是否有关联&#xff0c;两个表相互关联&#xff0c;我…

JPA不同包下同类名查询出错

不同包下同类名查询出错 异常现象&#xff1a;使用JPA进行查询时&#xff0c;JPA的实体类映射到了另外一个包下的同名类&#xff0c;由于两个同名类中字段名和字段数不相同&#xff0c;所以会出现种种查询错误。 原因及对策&#xff1a;这里应该是jpa实体类默认注入问题&…

java基本类型转换,随记

java基本类型转换&#xff1a; double double 转 long double random Math.round(Math.random()*10000); long l new Double(random).longValue();

IDEA设置单个文件、单个包、单个项目的编码格式

IDEA设置单个文件、单个包、单个项目的编码格式 File-> Settings-> File Enclodings 选择编码格式&#xff0c;确定即可。 注意&#xff1a;此处的编码格式设定以后&#xff0c;该包已经存在的类内部乱码或文字不会有变化&#xff0c;若新复制类进入则会按照新的编码格式…

IDEA自动生成对象所有set方法

idea中有一款插件能够生成对象所有的set方法&#xff0c;GenerateAllSetter &#xff1a;下载地址 步骤1&#xff1a;将下载好的压缩包放在自己记得的文件夹中&#xff0c;在idea中进行导入 步骤2&#xff1a;在本地选中刚才的压缩包&#xff0c;导入即可。然后将IDE重启即生…

typora新增主题,typora将主题导入本地

首先&#xff0c;需要打开typora的偏好设置&#xff0c;也就是设置 点击获取主题&#xff0c;进入 https://theme.typora.io/ 这个网站进行下载 下载好后是一个压缩包&#xff0c;将压缩包解压&#xff0c;将其中theme文件夹下的css文件复制到主题文件夹下&#xff0c;主题文件…

将文件上传至ftp服务器,FTP文件上传工具类,将文件上传至服务器指定目录

将文件上传至ftp服务器,传入File对象&#xff0c;将文件上传至ftp服务器 需要配置修改的点&#xff1a; 1. 服务器ip端口&#xff08;服务器ip 端口22/21&#xff09;。 2. 服务器账号密码&#xff08;服务器登录用户名密码&#xff09;。 3. 上传路径&#xff08;写入的路径会…

苹果设备iphone,ipad,macbook网络连接慢,开机开什么卡什么,一步解决

苹果电脑网络连接慢&#xff0c;开机开什么卡什么&#xff1f;&#xff1f;&#xff1f; 网络上的方法一种种&#xff0c;没有一个适用的&#xff1f; 如果你的macbook也是打开就没网&#xff0c;但有一些软件也能用&#xff0c;就是浏览器加载跑条儿&#xff0c;不妨试试&am…

Map的分类和不同的应用场景

java为数据结构中的映射定义了一个接口java.util.Map; 它有四个实现类,分别是HashMap&#xff0c;Hashtable&#xff0c;LinkedHashMap和TreeMap 可能很多人只使用过HashMap&#xff0c;但还是那句话&#xff0c;你可以不用&#xff0c;但你不能不懂。如果你也是这样&#xff0…

sql特殊字符转义,oracle中将字符 ‘ 转义

oracle中使用sql语句或多或少地会遇到使用特殊字符&#xff0c;比如" ’ ",这时&#xff0c;这个单引号就会与前面的单引号匹配&#xff0c;将文本从中间断开&#xff0c;引发问题和错误。这就需要我们进行转义。 而oracle中并不像C java这些编程语言那样使用"…

idea中如何打开RunDashboard窗口,微服务最实用设置

idea中如何打开RunDashboard窗口 找到.idea目录&#xff0c;打开workspace.xml&#xff0c;搜索RunDashboard&#xff0c;找到该段配置&#xff0c;加入下面注释中的代码 <component name"RunDashboard"><option name"ruleStates"><list&…

在js中使用HashMap数据结构,在js中使用K,V数据结构

首先是定义一个HashMap方法&#xff0c;做基类(复制在js中即可&#xff0c;然后引用) //简单的哈希表,begin function HashMap() {/** Map 大小 * */var size 0;/** 对象 * */var entry new Object();/** 存 * */this.put function(key, value) {if (!this.containsKey(key…

查看Hotspot源码,查看java各个版本源码的网站,如何查看jdk源码

java开发必知必会之看源码&#xff0c;而看源码的第一步则是找到源码&#x1f447; jdk源码网站&#xff1a;http://hg.openjdk.java.net/ 进入这个网站后并不是源码摆在面前&#xff0c;根据下面以jdk8为例&#xff0c;学会如何查看各个版本内容的jdk源码。 这里我们举例的是…

快起床刷题去,别人把你offer拿走啦

好久没有上力扣刷题咯&#xff0c;又到了关键的时刻&#xff0c;却忘得零零散散&#xff0c;囧~ 话说&#xff0c;刷题、学算法、常用&#xff0c;这些技能才能长在身上! 上一道刚刚遇到的正菜~ 题&#xff1a;给定一个整数数组 nums 和一个目标值 k&#xff0c;请实现一个方…

oracle 提示:ORA-02292:integrity constraint(xxxxxxx) violated - child record found

当我们删除 数据的时候 oracle 提示:ORA-02292:integrity constraint(xxxxxxx) violated - child record found 这种情况呢是因为外键关联的存在&#xff0c;需删除另一个表的信息后才能将该信息删除。 这种情况首先应该去寻找是否有表与当前表存在关联&#xff0c;若能找到最…

分割数组(将数组三等分)

简单面试题——分割数组 时间复杂度O(n) //输入&#xff1a;一个自然数数组&#xff0c;选取其中2个数字num[i], num[j], 把数组三分&#xff0c; // 每一部分的累加和&#xff08;不包括分割点的数字&#xff09;相等。 // 例&#xff1a;nums[] [2,1,3,1,1,1,5,3]&am…

svn和git的本质区别是什么

上边图中,跨越了区的箭头,它中间的区数据都会同步。例如:git checkout ,它是将本地仓库数据更新到暂存区和工作区的。

使用JavaScript实现复杂功能:一个完整的电商网站搜索功能

随着互联网的发展,电子商务网站已经成为人们购物的重要平台。而在这些网站中,搜索功能无疑是核心功能之一。用户可以通过搜索快速找到他们需要的商品,从而提高购物体验。本文将详细介绍如何使用JavaScript实现一个完整的电商网站搜索功能。

牛年前的一小结——打响本命年的第一枪,继续刷题!

经过一段时间的小尝试&#xff0c;摸索出了一点点头儿吧。 总结一下子。 关于面试的java&#xff0c;像我这个经验层次&#xff08;1-2year普通厂&#xff09;的都不会太难。最多超不出力扣中等难度。 多练习链表、树、指针类的比较基础的题目&#xff1b;有解题方法并不是最重…

力扣1002.查找常用字符

力扣 1002. 查找常用字符 本人力扣练习已上传至码云&#xff0c;可互相学习借鉴。 难度-简单 题目&#xff1a; 给定仅有小写字母组成的字符串数组 A&#xff0c;返回列表中的每个字符串中都显示的全部字符&#xff08;包括重复字符&#xff09;组成的列表。例如&#xff0c;…

springboot项目使用junit4进行单元测试,maven项目使用junit4进行单元测试

首先&#xff0c;maven项目中引入依赖 <dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope> </dependency><dependency><groupId>org.…

springboot设置文件上传大小(tomcat默认1M)

application.yml # 设置文件上传大小&#xff08;tomcat默认1M&#xff09; server:tomcat:max-http-form-post-size: -1 spring:servlet:multipart:max-file-size: 100MBmax-request-size: 500MB

kotlin重写构造方法编译报错:Primary constructor call expected

在kotlin中使用construct关键字定义构造方法&#xff0c;如果类定义时已经有构造方法&#xff08;类名后带括号&#xff09;&#xff0c;需要添加构造方法时&#xff0c;需要使用以下写法&#xff1a; class User(var name,var age){//使用 :this() 调用主构造方法对参数赋默认…

Linux下创建硬链接,文件访问为空,提示:xxxx: 符号连接的层数过多

Linux下创建软链接&#xff5c;硬链接&#xff0c;文件访问为空&#xff0c;提示&#xff1a;x x x: 符号连接的层数过多。 原因&#xff1a;创建符号链接的时候未使用绝对路径&#xff0c;无论是源文件路径还是目标路径&#xff0c;都需要使用绝对路径。 如&#xff1a; ln …

kotlin Bean加载失败lateinit property has not been initialized

Application run failed org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘xxxApplicationConfig’: Unsatisfied dependency expressed through field ‘appConfigService’; nested exception is org.springframework.be…

Gradle错误提示:Java home supplied via ‘xxx.xxx.xxx‘ is invalid

Gradle错误提示&#xff1a;Java home supplied via ‘org.gradle.java.home’ is invalid 描述&#xff1a;在使用idea采用gradle进行依赖的管理功能&#xff0c;当想切换java版本时&#xff08;卸载现在的java版本&#xff0c;如jdk15&#xff0c;安装另外的java版本&#xf…

恭喜你发现了宝藏,编程习惯-日积月累

总结&#xff1a; 条件查询可在数据库层创建queryDto进行统一操作。 代码复用&#xff1a;若有代码重复出现了三次&#xff0c;很大概率可以重构。&#xff08;三则重构&#xff09; dto和entity中的赋值操作&#xff0c;可以写成方法放在dto中。&#xff08;充血模型&#x…

Gradle 将项目publish到Nexus,Kotlin将项目发布到nexus,springboot项目发布到maven仓库

示例见&#xff1a;Gitte 公仓设置 在项目中添加maven-publish的插件 plugins {kotlin("jvm") version "1.3.72"kotlin("plugin.spring") version "1.3.72"java-librarymaven-publishmaven }如同maven项目一样设置组、版本信息 gr…