资讯专栏INFORMATION COLUMN

落地 Spring Could 所踩过的坑(二)Feign Client 调用服务接口报错

godlong_X / 2707人阅读

摘要:问题描述为了方便统一管理服务接口调用,服务调用客户端采用,实施下来一直很顺利。负责测试的同事反馈其中一个接口调用报错,诡异的事只有这一个接口报错。示例代码区域信息模型添加时间最后修改时间其中是预先定义的常量,值为

问题描述

为了方便统一管理服务接口调用,服务调用 HTTP 客户端采用Feign Client,实施下来一直很顺利。负责测试的同事反馈其中一个接口调用报错:Could not extract response: no suitable HttpMessageConverter found for response type ,诡异的事只有这一个接口报错。百度、谷歌都用上,大部分文章说要增加依赖


    com.fasterxml.jackson.core
    jackson-databind
    2.9.4

试过不管用,在国外技术网站发现一种说法是服务端 Response 消息没有指定 Content-Type, 也学着在 Configuration 类中手工增加 application/json 的 Content-Type ,还是无法解决问题。

原因分析

静下来看看日志信息,发现客户端实际上已经获取到了接口返回的json信息,并且在日志中能看到标示的信息格式就是 application/json ,那问题只能出在信息反序列化的阶段了。根据以往经验,先分析信息特征,没发现异常,唯一特殊的是里面有两个字段是日期格式,记得之前遇到过 Spring 自带的 Gson 序列化工具,需要指定日期数据的格式化规则,赶紧查看用于反序列化的模型类,发现带日期的字段,并没有注解日期格式规则,赶紧加上,启动项目测试,问题解决!!!

解决方法

在数据类型为日期的字段上,增加 JsonFormat 注解,并指定格式规则。

示例代码
/**
* 区域信息模型
*/
@Data
public class AreaVO extends AreaBaseVO {

    /**
     * 添加时间
     */
    @JsonProperty("create_time")
    @JsonFormat(pattern = DateUtilCustom.DATE_TIME_FORMAT)
    private Date createTime;

    /**
     * 最后修改时间
     */
    @JsonProperty("update_time")
    @JsonFormat(pattern = DateUtilCustom.DATE_TIME_FORMAT)
    private Date updateTime;

    @Override
    public String toString() {
        return super.toString();
    }
}

其中 DateUtilCustom.DATE_TIME_FORMAT 是预先定义的常量,值为:yyyy-MM-dd HH:mm:ss

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/71872.html

相关文章

  • 落地 Spring Could 所踩的坑(一)eureka开启验证后无法连接注册中心

    摘要:问题描述今天遇到个问题,的端和端本来已经联通成功,服务注册发现都正常。后来开启了验证功能,端向端注册服务时,需要验证用户名和密码,问题就出现了。 问题描述 今天遇到个问题,Eureka的Server端和Client端本来已经联通成功,服务注册、发现都正常。后来开启了验证功能,Client端向Server端注册服务时,需要验证用户名和密码,问题就出现了。 Client端无法向Server...

    Thanatos 评论0 收藏0
  • 点评CAT在Spring Cloud中的实践

    摘要:作者在基于微服务的架构时,一直苦于寻找一个可靠的性能监控平台,后在大神的推荐下,详细研究了点评,其满足对应用性能监控的需求包含性能,响应性能等,将踩过的坑进行分享一下。 作者在基于Spring Cloud微服务的架构时,一直苦于寻找一个可靠的性能监控平台,后在大神的推荐下,详细研究了点评CAT,其满足对应用性能监控的需求(包含SQL性能,URL响应性能等),将踩过的坑进行分享一下。 下...

    韩冰 评论0 收藏0
  • 记录spring-boot 1.5.9升级至2.0.1的那些坑

    摘要:前两天组里的大佬心血来潮,让我这周把项目里的版本升级到最新版本,目前项目用到的是版本为的版本为现在按照要求统一升级到。三数据库连接池同样也是版本不兼容,需要升级到,亲测有效。差不多这些,后续遇到其他问题还会继续补充。 前两天组里的大佬心血来潮,让我这周把项目里的spring-boot、spring-cloud版本升级到最新版本,目前项目用到的是spring-boot版本为1.5.9.R...

    gitmilk 评论0 收藏0
  • 拜托!面试请不要再问我Spring Cloud底层原理!

    摘要:不过大多数讲解还停留在对功能使用的层面,其底层的很多原理,很多人可能并不知晓。每个线程池里的线程就仅仅用于请求那个服务。 欢迎关注微信公众号:石杉的架构笔记(id:shishan100) 每日更新!精品技术文章准时送上! 目录 一、业务场景介绍 二、Spring Cloud核心组件:Eureka 三、Spring Cloud核心组件:Feign 四、Spring Cloud核心组件:R...

    wums 评论0 收藏0
  • 拜托!面试请不要再问我Spring Cloud底层原理!

    摘要:不过大多数讲解还停留在对功能使用的层面,其底层的很多原理,很多人可能并不知晓。每个线程池里的线程就仅仅用于请求那个服务。 欢迎关注微信公众号:石杉的架构笔记(id:shishan100) 每日更新!精品技术文章准时送上! 目录 一、业务场景介绍 二、Spring Cloud核心组件:Eureka 三、Spring Cloud核心组件:Feign 四、Spring Cloud核心组件:R...

    wangjuntytl 评论0 收藏0

发表评论

0条评论

godlong_X

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<