spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8
spring.mvc.dateFormat = yyyy-MM-dd HH:mm:ss
@DateTimeFormat来控制入参,@JsonFormat来控制出参
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
1.如果前后端传的数据都是json格式,那么后台接数据,传数据都可以用@JsonFormat ;
2.@DateTimeFormat适合后端接收前端传来的数据,不管是不是json格式都可以正确转换成Date型数据,只要前端传来的格式正确且后端@DateTimeFormat的pattern写正确。但是,这个注解无法将Date型数据用json传到前端去
综上所述,建议大家直接使用@JsonFormat
@GetMapping("/test")
public ResponseResult docList(QueryListParam queryListParam) {
return testService.queryList(queryListParam);
}
@Data
public class QueryListParam implements Serializable {
/** * 姓名 */
private String name;
/** * 起始时间(接收不到,会报错) */
private Date startTime;
/** * 结束时间(接收不到,会报错) */
private Date endTime;
}
GET请求直接传递 startTime=2020-01-01 01:10:00 是接收不到了,后台会报错,需要在bean中Date类型的属性上添加注解@DateTimeFormat(pattern = “yyyy-MM-dd HH:mm:ss”)
该注解是org.springframework.format.annotation下的
@Data
public class QueryListParam implements Serializable {
/** * 姓名 */
private String name;
/** * 起始时间,接收成功 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date startTime;
/** * 结束时间,接收成功 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date endTime;
}
但是不用这种方法,用String进行接收,在用SimpleDateFormat进行转换。
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/qq_43842093/article/details/121984328
内容来源于网络,如有侵权,请联系作者删除!