使用@JsonFormat的一个坑及解决

目录
  • 使用@JsonFormat的一个坑及解决
    • 解决如下
  • JsonFormat的时间格式踩坑

使用@JsonFormat的一个坑及解决

spring boot项目 ,mysql数据库的datetime数据类型无法使用@JsonFormat解析 ,使@JsonFormat注解失效 。

原因不明 ,解决方案未明-待。。

有一个解决方案:

@JsonFormat注解在字段解析的时候失效了 ,但是放在application.yml配置文件中可以生效。具体原因不明 ,猜测底层覆盖掉format方法 或者Jackson 默认走配置文件的方式?

解决如下

 spring:
  jackson:
      date-format: yyyy-MM-dd HH:mm:ss
      time-zone: GMT+8

同级 spring.jackso.date-formact

JsonFormat的时间格式踩坑

使用JsonFormat注解来处理时间格式时,一定要注意规范写日期格式,否则会出现奇奇怪怪的时间转换bug

正确格式

@JsonFormat(partten="yyyy-MM-dd",timezone="GMT+8")
private Date startDate;

错误格式:输出的时间会变成每月1号

@JsonFormat(partten="yyyy-mm-dd",timezone="GMT+8")
private Date startDate;

正确格式

@JsonFormat(partten="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date startDate;

错误格式:输出时间会早10小时

@JsonFormat(partten="yyyy-MM-dd hh:mm:ss",timezone="GMT+8")
private Date startDate;

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Jackson反序列化@JsonFormat 不生效的解决方案

    今天在线上发现一个问题,在使用Jackson进行时间的反序列化时,配置的 @JsonFormat 没有生效 查看源码发现,Jackson在反序列化时间时,会判断json字段值类型,如下: 由于在我们服务里,前端传时间值到后端时采用了时间戳的方式,json值被判断为数字类型,所以Jackson在反序列化时直接简单粗暴的方式处理,将时间戳转换为Date类型: 为了能够按照正确的格式解析时间,抹去后面的时间点,精确到日,只好自定义一个时间解析器.自定义的时间解析器很好实现,网上已经有很多实例代码,只需

  • Shell脚本自动更新hosts实现免翻墙访问google

    上次给大家发了一个python更新google hosts的脚本,今天看到有人发出了一句用shell来获取google hosts的脚本,我就拿来稍微简单加工了下,下面给大家shell版的更新google hosts的脚本. 脚本内容: 复制代码 代码如下: cat google_update.sh #!/bin/bash data=`date +%y%m%d%H%M` curl http://www.360kb.com/kb/2_122.html 2>/dev/null | sed -n '/

  • 基于@JsonFormat的导包问题

    @JsonFormat导包问题 @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")//注解可以以该格式注入格式 @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")//输出格式 private Date birthday;//出生日期', 在后台像前台传参数时,日期没有格式化,网上搜索了,

  • 使用@JsonFormat的一个坑及解决

    目录 使用@JsonFormat的一个坑及解决 解决如下 JsonFormat的时间格式踩坑 使用@JsonFormat的一个坑及解决 spring boot项目 ,mysql数据库的datetime数据类型无法使用@JsonFormat解析 ,使@JsonFormat注解失效 . 原因不明 ,解决方案未明-待.. 有一个解决方案: @JsonFormat注解在字段解析的时候失效了 ,但是放在application.yml配置文件中可以生效.具体原因不明 ,猜测底层覆盖掉format方法 或者J

  • 使用fileReader的一个坑及解决

    目录 关于fileReader的一个坑 fileReader在ios上面的坑(图片转base64) 关于fileReader的一个坑 在用fileReader做图片浏览时, 使用base64格式 var file=this.$refs.resource.files[0] var reader = new FileReader(); // 以DataURL的形式读取文件: reader.readAsDataURL(file); //读取后的回调js是多线程 reader.onloadend=(e)

  • 解决spring boot 配置文件后缀的一个坑

    目录 spring boot 配置文件后缀的一个坑 spring boot配置文件支持 properties和yml 从新创建一个demo试试 spring boot 配置文件后缀导致启动失败 错误 错误原因 解决方案 spring boot 配置文件后缀的一个坑 Caused by: org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: Cannot d

  • Android 弹出软键盘所遇到的坑及解决方法

    demo下载 重要代码: //1.此layout作为最外层的layout: //2.设置需要调整的view: setAdjustView(View view); //3.如果需要控制输入框的显示与隐藏,可以实现OnInputViewVisibleListener接口: public class SoftInputAdjustLayout extends RelativeLayout { private static final String TAG = SoftInputAdjustLayout

  • 深踩Android Studio 缓存的坑及解决方法

    本文记录的是今天在群里提到的昨天所踩的一个坑,有关 AndroidStudio 缓存的. 先说一下背景. 我负责的一个项目,对一个图表库有外部依赖.这个图表库是我在维护的,由于新功能在开发中,所以我就使用了 SNAPSHOT 版本发布到 OJO(oss.jfrog.org) 上.我在项目中刚更新了依赖,忽然想到还少几个 API,于是发布了 SNAPSHOT 版本. 故事就这样开始了. 这时候回到 AndroidStudio 再去 Sync Project with Gradle Files 肯定

  • 浅谈vue引入css,less遇到的坑和解决方法

    在使用vux开发手机页面时,引入vux的公共样式less一直报错,通过各种百度,Google都没有解决,走了很多弯路.最后才发现钻牛角尖了,可以换一种方法引入. 1.报错的使用:在App中 @ ./~/css-loader?{"minimize":false,"sourceMap":false}!./~/vux/src/styles/reset. less 3:10-115 @ ./~/css-loader?{"minimize":false,&

  • 基于IOS端微信分享失效的踩坑及解决方法

    最近的一个公众号是基于vue的spa应用,在接入微信分享和微信语音的时候出现了:在Android上一切正常,但是在ios端调用wx.config的时候总是失败,去翻了官方文档也并没有找到解决方案,最后在测试中发现是因为初始化的时候传入的URL的问题.具体过程如下: 微信config接口配置,官方文档如下: 所有需要使用JS-SDK的页面必须先注入配置信息,否则将无法调用(同一个url仅需调用一次,对于变化url的SPA的web app可在每次url变化时进行调用,目前Android微信客户端不支

  • pip安装tensorflow的坑的解决

    在我看来学习不难,配置一些环境真的很痛苦,之前的caffe配置,一口老血.. 不过用Python遇到了pip安装,真的赞,可是在用pip装tensorflow,竟然抛错?????黑脸.. 一.一开始中途报错,可能是网问题,所以报times out(猜测) 后来发现可能是pip命令不对 我是cpu,应该选2,之前写的1. 二.后来直接pip install tensorflow,tensorflow装完,自动装numpy却报错了.因为我之前自己用了numpy,早就装了.而每个tensorflow都

  • ASP .NET Core API发布与部署以及遇到的坑和解决方法

    最近在写.Net Core的API,由于之前没接触过Core,所以自己的想法很简单,感觉和.Net都是差不多的东西,发布部署还是按.Net的那一套来,可谓是困难重重,走了不少弯路. 也没什么漂亮的词语,也不是技术大牛,就是抱着学习技术的态度,随手写写这一套流程,以及遇到的问题跟解决方法. 一.安装服务器环境 IIS  Path-->Control Panel\All Control Panel Items\Programs and Features 没细致研究,全装了~ 二.发布API 1.选择

  • Python绘制雷达图时遇到的坑的解决

    ValueError: The number of FixedLocator locations (9), usually from a call to set_ticks, does not match the number of ticklabels (8). 运行书中例题时发现了这个错误, 原代码如上: import numpy as np import matplotlib.pyplot as plt import matplotlib matplotlib.rcParams['font

随机推荐