JsonFormat注解详细使用和日期时间选择器发axios请求报400错误

title: "jsonFormat注解"
tags:
    -注解
    -Bug
categories:
    -后端
date: 2023/2/07 19:43:55

JsonFormat注解

1.问题

在用Vue的组件库ElementUi的日期时间选择器,datetimepicker,发送给后端请求报400错误,后端用实体类接受参数,日期格式为LocalDateTime类型,本来是可以接受的,但是由于LocalDateTime带T,因此前端会接受到带T的时间格式,不美观,因此,我设置JsonFormat指定后端传输给前端的参数为yyyy-MM-dd HH:mm:ss这个格式。Ok,前端列表格式确实已经改变,但是当日期时间选择器再次发送axios请求时,报400错误,说明方法或者参数类型不匹配,就是加了注解后才不匹配,因此我去ui组件库发现了一个日期时间选择器可以设置的属性。

2.注意事项

注意是第二个,我本来设置了第一个,结果卡了好久,我看第一个默认值就是yyyy-MM-dd HH:mm:ss这种,结果它是显示的格式,传值格式是第二个,因为第二个默认是Date类型,指定为yyyy-MM-dd HH:mm:ss就可以了。

问题解决:前端既可以直接收到yyyy-MM-dd HH:mm:ss,后端也可以用LocalDateTime接受,之所以不设置string接受日期,是因为,我业务逻辑中有加天数的逻辑,只能用日期类的plus方法添加。

我本来在全局设置了json格式化的,结果直接失效了,所以在实体类上的属性上加了单独的jsonFormat。

3.总结和建议(重点)

建议还是有需要的实体类单独加上注解,我也不知道为啥全局配置失效了。

@DateTimeFormat是用于接受前端发送的时间格式

@JsonFormat是后端传输给前端指定的时间格式

一定要加上GMT+8,不然到时候你业务查询变成格林威治时间,少北京时间8小时。

建议单独用注解的都加上,数据库也设置好(当然这得看mysql5.7和mysql8不一样)

组件库虽好,还是得看仔细再用,要是vue3直接elementplus或者AntDesign(Vue版)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员小白条

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值