在最近的一次开发中, 因为日期需要格式化, 因此我使用了@JsonFormat注解的方式, 但是一直不生效, 在网找了很多解决办法, 也没能解决自己的问题, 最后在一位大神的博客中看到了一句话让我茅塞顿开。原来我用的没错,只是测试的方式错了。当看到这个问题时自己都笑了, 我猜测可能也会有很多人跟我一样所以就记下来了, 如果你看到了这篇文章, 并且成功帮你解决了问题, 那尴尬的就不光我一个人了 哈哈
1.首先就是看下, 引入的包是否正确(这也是我看过所有文章中,最多的解决方式), 当然我引用的没问题。
大神文章指引:https://www.cnblogs.com/cangqinglang/p/10083661.html

2.其实@JsonFormat是在@ResponseBody响应返回JSON数据的时候才会格式化, 而我一直都是单元测试debug到返回结果那里, 这时候还没有转换成JSON数据, 所以一直都未生效,如果有跟我一样的小伙伴, 请使用PostMan或者其他方式请求试一下。
ps:这时候有的小伙伴可能说, 那我们用工具类转成JSON数据不就可以了, 我觉得这也是一个不错的方式,但是要注意一点就是你使用的JSON工具类, 一定要是Jackson的方式转成JSON才可以, 下面我用了三种方式, 只有第三种使用了Jackson方式的,日期格式正确打印出来
![]()
![]()


3.下面看一下使用PostMan请求方式,日期格式正确返回。

本文通过实际案例解析@JsonFormat注解在日期格式化中为何看似失效的原因。作者最初在单元测试中发现该注解不起作用,最终通过调整测试方式(使用PostMan发送请求)验证了其有效性。此外,还提供了三种不同的日期格式化实现方法,强调了只有使用Jackson的工具类才能正确格式化日期。
1733

被折叠的 条评论
为什么被折叠?



