当前位置: 首页 > news >正文

常州网站建设哪儿好薇保定中企动力怎么样

常州网站建设哪儿好薇,保定中企动力怎么样,怎么改网站模块,网站右下角flash记一次DateTimeFormat注解的坑 背景:在用Echarts做图表时,前端传两个日期参数,获取日期区间的图表数据。想遵循RESTful风格,所以使用get请求获取date参数。前端读取当前日期,将七天前日期和当前日期作为参数传给后端&…

记一次DateTimeFormat注解的坑

背景:在用Echarts做图表时,前端传两个日期参数,获取日期区间的图表数据。想遵循RESTful风格,所以使用get请求获取date参数。前端读取当前日期,将七天前日期和当前日期作为参数传给后端,后端通过Date参数接收。然后后端报错,无法识别前端的date参数。经查阅,可以通过@DateTimeFormat标注在QueryString参数上可解决报错。然后发现DateTimeFormat接收前端的date参数时会比实际时间少8小时。

1. @DateTimeFormat

@DateTimeFormat注解是springboot内置的时间格式化注解,将@DateTimeFormat标注在RequestParam参数上。可以格式化DateTime参数。

假如不使用@DateTimeFormat,且前端传date对象,后端用Date接收,会导致错误

在这里插入图片描述

org.springframework.web.method.annotation.MethodArgumentTypeMismatchException: Failed to convert value of type 'java.lang.String' to required type 'java.util.Date'; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [java.util.Date] for value [2024-01-11]; nested exception is java.lang.IllegalArgumentExceptionat org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.resolveArgument(AbstractNamedValueMethodArgumentResolver.java:133)
......

加上@DateTimeFormat,问题解决,如下所示

    @GetMapping("statData")public Result statData(@DateTimeFormat(pattern="yyyy-MM-dd") Date start,@DateTimeFormat(pattern="yyyy-MM-dd") Date end){List<Integer> integers = blogIncreaseService.statData(start, end);return ResultUtils.success().data(integers);}

2. 提前8小时问题

前端如果传的date,后端用Date接收(用@DateTimeFormat(pattern="yyyy-MM-dd"标识),会导致后端接收的数据比实际系统数据早8小时(不知道是前端获取时间时区问题还是怎么的)。这不符合我们的实际需求。

解决方案有三种

    1. 在以上基础上,后端接收的Date数据基础上加上8小时。
    1. 放弃使用Get请求,用Post,用RequestBody接收前端请求数据,在日期参数上使用@JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”)格式花日期。@JsonFormat可以格式化时区,@DateTimeFormat没有timezone参数
    1. 继续使用@DateTimeFormat,但前端不传date对象,改用字符串。

个人感觉还是第三种方案最好,如果前端开发小姐姐配合的话。

具体解决步骤不列举了,比较简单,重点是最近我很懒,懒得写笔记。

总结

总而言之,使用@DateTimeFormat时注意留意是否提前8小时,主要是开发测试时还可能发现不了,我就是上生产时才发现的问题,还好影响不大。

http://www.yayakq.cn/news/847708/

相关文章:

  • 公司网站首页大图怎么做晋城建设局网站
  • 做网站排名收益小程序助手官网
  • 网站首页的文字下拉怎么做wordpress后台添加侧边栏菜单
  • 信息门户网站怎么做承接工程平台
  • 网站默认首页怎么设置制作网站具体需要什么材料
  • 创建网站做搞笑视频wordpress 替换父主题函数
  • 带分页的wordpress模板谷歌seo排名公司
  • 成品网站货源入口网络科技网站建设
  • 做搜索引擎的网站怎么建立一个网站好
  • 专业网站建设新闻如何加强网站安全建设
  • 如何自己建设商城网站邯郸做小程序的网络公司
  • 做网站js是什么建筑劳务公司名字起名大全
  • 乐清市建设路小学网站外国人 做的中国字网站
  • 免费建站小程序太原建站模板网站
  • 北京西站附近的景点有哪些wordpress dux主题首页排序
  • jsp网站开发环境配置成都中风险地区
  • 网站建设是怎么赚钱的wordpress文章页版权
  • 做百度推广一定要有网站吗天天广告联盟
  • 网站规划项目与设计实例拼多多分销模式
  • 怎么给自己的网站做排名深圳建网站哪个济南兴田德润有活动吗
  • 东莞网站营销策划企业网站 带后台
  • 上海制作网站公司网站做蛋糕的英文网站
  • 深圳最好的网站制作哪家公司好大淘客网站是怎么做的
  • 网站建设wuliankj办办网上海
  • php网站接入支付宝怎么删除wordpress
  • 网站策划培训创建网站要多长时间
  • 广州营销型网站建设价格网站建设项目签约仪式举行
  • 专业网站建设品牌策划建企业网站需要哪些资料
  • p2p网站建设规划俄文网站开发地点
  • 可以自己做安卓app的网站天眼查 个人查询