KangMz 发表于 2022-3-21 00:40

最近在学习Java,有前辈知道怎么把前台传的日期封装到后台吗?

本帖最后由 KangMz 于 2022-3-21 20:42 编辑

感谢大家,我好像有点搞明白了。
这个是我学习java在网上随便找的项目。这个项目里可能是为了学习的目的,把某些ID和日期用jackson搞了一下混淆,然后自定义了一些注解,用在那些混淆的字段上才行。
所以用了大家告诉我的方法一直绑定不上去。。。。
------------------------------------------------前台用的是elementUI的组件
c
发生的请求是这样的标准时间格式


后台用的是springmvc,用的pojo接收数据,也加了@requestbody。其他的数据都可以正常封装,但是就是这个时间date类型绑定不了。后台接收的为null。而且控制台也没有报错。
baidu了一下,网上说在参数上加个@DateTimeFormat注解就可以了,但是试了下还是不行,后来又看到说@DateTimeFormat对于请求体是json格式的情况下无效。
又baidu了一下,看到说用@JsonFormat注解就可以了。。然后我又试了一下,还是不行。一直是null,绑定不了。



不过只要我把类型Date改成String的话就可以正常封装了。。。但是我就是想要封装成Date类型。
有前辈知道怎么搞嘛。。。求指教



李秀林 发表于 2022-3-21 08:16

majority 发表于 2022-3-21 08:44

先接收字符串,然后再转Date

玩的时候 发表于 2022-3-21 09:03

@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JSONField(format="yyyy-MM-dd HH:mm:ss")
private LocalDateTime endTime;

从我项目里面拿的一段代码,可以试试

unmask 发表于 2022-3-21 09:30

请使用java.util.Date声明Date属性

ashergo 发表于 2022-3-21 09:30

什么时候 参数可以 自动转换了?      publish_time   publishTime?

xiaomache 发表于 2022-3-21 09:35

1.前端转指定格式的字符串,后端用字符串接受,在处理
2.@DateTimeFormat可以尝试使用这个注解

xiajin 发表于 2022-3-21 09:57

前端组件可以统一把时间个格式处理,虽然后端也可以

浅若夏沫丶 发表于 2022-3-21 10:09

ashergo 发表于 2022-3-21 09:30
什么时候 参数可以 自动转换了?      publish_time   publishTime?

确实,我认为也是前后端字段不一致导致的,而不是字段类型导致的,后端是可以用Date类型进行接收的,如果要求前端字段大小写也一致,后端属性上可以加个JsonProperty

Vvvvvoid 发表于 2022-3-21 10:15

日期这种的 用时间戳接受比较好处理
页: [1] 2 3
查看完整版本: 最近在学习Java,有前辈知道怎么把前台传的日期封装到后台吗?