springboot前端传参date类型后台处理方式
先说结论:建议大家直接使用@JsonFormat,原因如下:
1、针对json格式:在配置文件中加以下配置
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss spring.jackson.time-zone=GMT+8
2、针对form表单格式,加下面这句配置就可以
spring.mvc.dateFormat = yyyy-MM-dd HH:mm:ss
3、也可以在pojo中对特定的date类型属性加了以下配置
@DateTimeFormat来控制入参,@JsonFormat来控制出参
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
4、前端以字符串的形式给后台传递 带有格式的 日期 和 数字 数据,导致后台无法解析数据:
解决方法:
总结:
1.如果前后端传的数据都是json格式,那么后台接数据,传数据都可以用@JsonFormat ;
2.@DateTimeFormat适合后端接收前端传来的数据,不管是不是json格式都可以正确转换成Date型数据,只要前端传来的格式正确且后端@DateTimeFormat的pattern写正确。但是,这个注解无法将Date型数据用json传到前端去
