跳到主要内容

1 篇博文 含有标签「Spring」

查看所有标签

Spring 时间格式格式化问题

· 阅读需 1 分钟

问题: 在接口响应的实体类的字段上加 @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") 发现这个注解没有生效.

@DateTimeFormat 使用的场景是: 用于 Spring MVC 的数据绑定和格式化.

  • @RequestParam 的字段上
  • @PathVariable 的字段上
  • @ModelAttribute 的实体类字段上

原因: @DateTimeForma 不生效的原因是 @DateTimeForma 不支持 @RequestBody 的反序列化.

解决方案: 改用 @JsonFormat 注解

@JsonFormat 是 Jackson 提供的注解, 用于 JSON 序列化和反序列化.

  • @RequestBody
  • @ResponseBody / @RestController
  • 需要序列化或反序列化实体类的字段上
  • Feign Client 调用
  • Redis 序列化
  • MQ 消息
  • Websocket 消息