SpringCloud OpenFegin 传递Date类型的参数时,接收端多出14个小时的问题

SpringCloud OpenFegin 传递Date类型的参数时,接收端多出14个小时的问题

1. OpenFegin写法

入参:

"startTime": "2024-01-16 00:00:00", "endTime": "2024-01-18 23:59:59",

java 复制代码
@GetMapping("/queryDisposalComplete")

JsonResult<Map<String, List<Dto>>> queryDisposalComplete(@RequestParam(value = "startTime", required = false) Date  startTime,  
 @RequestParam(value = "endTime", required = false) Date endTime);
java 复制代码
    @GetMapping("/queryDisposalComplete")
    public JsonResult<Map<String, List<Dto>>>> queryDisposalCompleter(@RequestParam(value = "startTime", required = false)  Date startTime,
                                                                                        @RequestParam(value = "endTime", required = false)  Date endTime) {
        log.info("startTime:{},endTime:{}", JSONObject.toJSONString(startTime),JSONObject.toJSONString(endTime));
        Map<String, List<Dto>> map = service.queryDisposalComplete(startTime,endTime);
        return  JsonResult.ok( map);
    }

对应log

java 复制代码
 startTime:1705384800000,endTime:1705557599000

Unix 时间戳 转成 北京时间startTime: 2024-01-16 14:00:00 endTime:2024-01-18 13:59:59

时间多了,

2. 既然用Date 接收导致时间多了,那么改用String 是不是就可以接收到原始数据了
java 复制代码
@GetMapping("/queryDisposalComplete")
JsonResult<Map<String, List<Dto>>> queryDisposalComplete(@RequestParam(value = "startTime", required = false) String startTime,  
 @RequestParam(value = "endTime", required = false) String endTime);

然后根据String 类型转成Date即可。

相关推荐
陈随易3 小时前
编程语言级别的Skill市场,AI Agent 的未来形态
前端·后端·程序员
IT_陈寒5 小时前
Vite的热更新突然不香了,排查三小时差点砸键盘
前端·人工智能·后端
子兮曰6 小时前
Agency-Agents 深度解析:400+ AI 专家的"梦之队"如何重塑开发工作流
前端·后端·vibecoding
用户8356290780517 小时前
Python 实现 PDF 文件加密与解密方法
后端·python
小满zs7 小时前
Go语言第二章(小无相功)
后端·go
用户8356290780517 小时前
使用 Python 冻结与拆分 Excel 窗格教程
后端·python
karry_k7 小时前
MyBatis批量insert-select踩坑:useGeneratedKeys=true 可能让PostgreSQL返回大量插入结果
java·后端
妙码生花7 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(十九):点选验证码代码逐行目检
前端·后端·go
贰先生7 小时前
Xiuno BBS X版 用户封禁系统
后端
karry_k7 小时前
PostgreSQL 在 MyBatis 中执行正常 SQL 失效:一次 DELETE USING 踩坑记录
java·后端