千家信息网

微服务中怎么通过feignClient调用接口

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,微服务中怎么通过feignClient调用接口,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。服务端客户端错误显示feign.codec.
千家信息网最后更新 2026年11月03日微服务中怎么通过feignClient调用接口

微服务中怎么通过feignClient调用接口,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

服务端

客户端

错误显示

feign.codec.DecodeException: Type definition error: [simple type, class com.baomidou.mybatisplus.core.metadata.IPage]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `com.baomidou.mybatisplus.core.metadata.IPage` (no Creators, like default construct, exist): abstract types either need to be mapped to concrete types, have custom deserializer, or contain additional type information at [Source: (PushbackInputStream); line: 1, column: 1]        at feign.SynchronousMethodHandler.decode(SynchronousMethodHandler.java:174)        at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:134)        at feign.SynchronousMethodHandler.invoke(SynchronousMethodHandler.java:77)        at feign.ReflectiveFeign$FeignInvocationHandler.invoke(ReflectiveFeign.java:102)        at com.sun.proxy.$Proxy101.getGoodList(Unknown Source)        at cpm.leyou.search.client.BrandClientTest.getSpu(BrandClientTest.java:53)        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)        at java.lang.reflect.Method.invoke(Method.java:498)        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)        at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)        at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:73)        at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:83)        at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)        at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)        at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)        at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)        at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)        at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)        at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)        at org.junit.runners.ParentRunner.run(ParentRunner.java:363)        at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)        at org.junit.runner.JUnitCore.run(JUnitCore.java:137)        at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)        at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)        at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)        at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)Caused by: org.springframework.http.converter.HttpMessageConversionException: Type definition error: [simple type, class com.baomidou.mybatisplus.core.metadata.IPage]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `com.baomidou.mybatisplus.core.metadata.IPage` (no Creators, like default construct, exist): abstract types either need to be mapped to concrete types, have custom deserializer, or contain additional type information at [Source: (PushbackInputStream); line: 1, column: 1]        at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:240)        at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.read(AbstractJackson2HttpMessageConverter.java:225)        at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:100)        at org.springframework.cloud.openfeign.support.SpringDecoder.decode(SpringDecoder.java:60)        at org.springframework.cloud.openfeign.support.ResponseEntityDecoder.decode(ResponseEntityDecoder.java:45)        at feign.optionals.OptionalDecoder.decode(OptionalDecoder.java:36)        at feign.SynchronousMethodHandler.decode(SynchronousMethodHandler.java:170)        ... 35 moreCaused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `com.baomidou.mybatisplus.core.metadata.IPage` (no Creators, like default construct, exist): abstract types either need to be mapped to concrete types, have custom deserializer, or contain additional type information at [Source: (PushbackInputStream); line: 1, column: 1]        at com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:67)        at com.fasterxml.jackson.databind.DeserializationContext.reportBadDefinition(DeserializationContext.java:1452)        at com.fasterxml.jackson.databind.DeserializationContext.handleMissingInstantiator(DeserializationContext.java:1028)        at com.fasterxml.jackson.databind.deser.AbstractDeserializer.deserialize(AbstractDeserializer.java:265)        at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4013)        at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3084)        at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:237)        ... 41 more

正确操作

将服务端的返回值由IPage转为Page

看完上述内容,你们掌握微服务中怎么通过feignClient调用接口的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

服务 接口 内容 方法 更多 问题 束手无策 为此 原因 客户 客户端 对此 技能 端的 篇文章 经验 行业 资讯 资讯频道 错误 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州淘业互联网络科技 山东特亿宝互联网科技有限公司 互联网科技工作委员会副主任毛军 互联网与新科技 唐信互联网科技 互联网科技缩写 亿人帮互联网科技 居家互联网科技有限公司 成都玖崟互联网科技有限公司乐商圈怎么样 互联网科技项目计划书材料类 宝灵互联网科技有限公司 锡山区互联网智能科技产品供应 互联网科技实习生岗位 半导体是互联网高科技吗 本届互联网大会上的黑科技 互联网与数字科技关系 互联网科技包装股份有限公司上市 世界互联网科技成果奖 艺电能源互联网科技有限公司招聘 黑龙江互联网科技公司 互联网科技公司起名 互联网 科技创新 南京欣网互联网科技 互联网高科技企业 多迪互联网科技有限公司 阿里互联网科技公司 本届互联网博览会上的黑科技 威龙国际互联网科技公司 互联网科技数字货币 互联网科技博主张洲
0