有关前后端开发中的实体对象属性问题

练手时遇到的问题:在前端(微信小程序)将描述时间的字符串发送给后端(spring boot),后端使用对象进行接收,该对象实体类中时间属性的类型是 java.util.Date,但在后端接收到数据是字符串类型 java.lang.String,不能直接转换。

个人能想到的方法是再加一个实体类专门面向前端负责接收消息(用 String 描述时间消息),接收完再转为以存在的实体类(用 Date 描述时间消息),方便后端时间操作、插入数据库等操作。或是直接用字符串接收所有信息再整合成现有实体类的对象。

感觉十分臃肿,是否存在自动转换的方法,或是其他方法能够让逻辑变得通顺一些。

自动转换的话可以使用spring的@DateTimeFormat注解、或者自定义全局DateConvert实现字符串到日期类型的转换

个人习惯时间用时间戳,只是在前端显示的时候格式化成需要的类型

前后端数据交互,都是json或string类型数据,后端接收到后需要转实体对象

如果是时间类型的参数,可以考虑在数据库中使用时间戳类型更标准统一

个人感觉:数据库中使用时间戳更能保证通用性、统一性(避免时区问题),从数据库中获取之后在不同的地方可以进行不同的表示。时间数据从前端到后台还是需要一个转换的过程。但不考虑复杂情况,使用 @DateTimeFormat 注解进行入参、出参格式化是最方便的。