解决beetl在Cloud微服务消费者中出现‘未注册的格式化函数(FORMAT_NOT_FOUND):yyyy-MM-dd HH:mm‘之错误

背景:
beetl是前端的一个框架,在近期我要将一个需求进行前后端分离,这里我使用cloud来进行.
分别为消费者和提供者,但是遇到一个问题,那就是消费者这一边在请求提供者并接收到了参数后,我通过beetl的request数据共享给前端的话,会发现页面通过${datevariable,“yyyy-MM-dd HH:mm”}进行格式化时,会报错.
原因:
起初我以为是beetl哪里出错了,但是实在找不出来.于是我把提供者和消费者的数据对象分别用system.out.println()来输出,发现了不同之处.
那就是服务提供者这一方的日期格式为’Wed Sep 30 18:00:00 CST 2020’,这是可以被Beetl格式化的.
而消费者这一方面的日期格式则变为了’2020-09-30T10:00:00.000+0000’,这个肯定不能被beetl格式化的.
那么我就在找原因,为什么在日期格式上,服务提供方的数据内容和消费者的数据内容会不同.我注意到了一个问题,那就是在微服务cloud中,服务提供方是需要把数据对象转换为json返回给消费者的,而消费者则是根据获取到的json来进行封装.这之间需要用到的注解就是@RestController.
解决:
那么我想我知道答案了,日期格式之所以不同,就是@RestController在返回时将其转换为了json才导致日期格式不同。那么就需要在application.yml中对基于jackson的JSON转换机制进行配置。不过这样一来,前端beetl也就省去了转换格式这一步骤了。

jackson日期格式统一处理配置教程:https://blog.csdn.net/chinatopno1/article/details/108962726

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值