千家信息网

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

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,微服务中怎么通过feignClient调用接口,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。服务端客户端错误显示feign.codec.
千家信息网最后更新 2025年12月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安全错误 数据库的锁怎样保障安全 正在向比对系统发送数据库 gs数据库怎么指定计算值的精度 软件开发半年总结报告 数据库查询管理器 学校数据库有什么好处 tp5连接数据库用的什么 数据库分区策略 数据库设计文档维护 软件工程与软件开发一样吗 数据库服务器双机热备命令 sql设计一个员工数据库 服务器数据返回代码 锦江区小兵软件开发工作室 世界科研项目数据库 租境外服务器如何管理 计算机网络技术后期怎么样 大连软件开发工业园有哪些 用友软件开发培训班 c语言vf和数据库的区别 金信桥网络技术 微信的朋友圈数据库架构 网络安全研究有哪些方面 成都贰零贰零互联网科技有限公司 网络科技和互联网工程哪个好 开拓者济南网络技术 软件测试的工作量占软件开发 科技发展与互联网的关系 精斗云是什么数据库 联想服务器关机快捷键 大兴区定制软件开发怎么样
0