日常踩坑Spring Cloud Feign之feign.codec.DecodeException: Type definition error: [simple type, class com.x
发布日期:2022-07-08 02:55:48 浏览次数:26 分类:技术文章

本文共 1822 字,大约阅读时间需要 6 分钟。

一、首先贴一段错误信息

feign.codec.DecodeException: Type definition error: [simple type, class com.xuecheng.framework.domain.cms.response.CmsPageResult]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `com.xuecheng.framework.domain.cms.response.CmsPageResult` (no Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator)

 at [Source: (PushbackInputStream); line: 1, column: 2]

二、看我的feign 接口

@FeignClient(value = "XC-SERVICE-MANAGE-CMS")public interface CmsPageClient {    //保存    @PostMapping("/cms/page/save")    public CmsPageResult save(@RequestBody CmsPage cmsPage);}

  三、返回对象

@Datapublic class CmsPageResult extends ResponseResult {    //模型对象 操作是    CmsPage cmsPage;    public CmsPageResult(ResultCode resultCode,CmsPage cmsPage) {        super(resultCode);        this.cmsPage = cmsPage;    }    }

四、有此看出,我上面的是返回模型是没有无参构造方法的返回,那么我们填上无参构造的注解,就不报异常了

@Data@NoArgsConstructor //无参的构造方法public class CmsPageResult extends ResponseResult {    //cms  操作是    CmsPage cmsPage;    public CmsPageResult(ResultCode resultCode,CmsPage cmsPage) {        super(resultCode);        this.cmsPage = cmsPage;    }}

五、总结

首先我们来了解一下Fegin

Feign是Netflix公司开源的轻量级rest客户端,使用Feign可以非常方便的实现Http 客户端。Spring Cloud引入

Feign并且集成了Ribbon实现客户端负载均衡调用(Ribbon是Netflix公司开源的一个负载均衡的项目(https://github.com/Netflix/ribbon),它是一个基于 HTTP、
TCP的客户端负载均衡器)

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

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

转载地址:https://blog.csdn.net/weixin_43333483/article/details/99219156 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:日常踩坑Spring Cloud Feign之feign.codec.DecodeException: Type definition error: [simple type, class com.x
下一篇:日常记录:抓取某条网页端关键词搜索结果

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年03月27日 08时11分20秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

python参数验证_参数验证,Python中的最佳实践 2019-04-21
python画多层网络_在pymn中修改多层网络图 2019-04-21
java net 安卓_android -------- java.net.UnknownServiceException 2019-04-21
java 密钥 aes 解密_Java中AES加密解密以及签名校验 2019-04-21
java树转化成图_Java 转换一组数据为树型数据 2019-04-21
java 底层ppt_Java 如何设置 PPT 中的形状排列方式 具体内容 2019-04-21
mysql更新第5条记录_MYSQL中添加、更新、删除数据 2019-04-21
mysql service5.7_Mysql5.7服务下载安装 2019-04-21
mysql查看线程完整执行命令_MySQL-查看运行的线程-SHOW PROCESSLIST 2019-04-21
mysql 更新数据 字符串_批量替换 MySQL 指定字段中的字符串 2019-04-21
web开发 mysql安装_mysqlinstallerwebcommunity5.7.21.0.msi安装图文教程 2019-04-21
mysql concat 整数型_MySQL 数字类型转换函数(concat/cast) 2019-04-21
mysql单元格函数是_MySQL常用内置函数 2019-04-21
mysql 怎么字段分裂_你可以分裂/爆炸MySQL查询中的字段吗? 2019-04-21
mysql server卸载出错_Mysql卸载问题Start Server卡住报错解决方法 2019-04-21
全国省市区 mysql_2017全国省市区数据库【含三款数据库】 2019-04-21
druid加载MySQL驱动原理_你好,想知道mybatis+druid+jdbc 原理介绍? 2019-04-21
mysql 怎样链接jdbc_jdbc怎么链接mysql数据库 2019-04-21
mysql学生课程表试题_Mysql练习之 学生表、课程表 、教师表、成绩表 50道练习题... 2019-04-21
java exec封装_Java 执行系统命令工具类(commons-exec) 2019-04-21