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即可。

相关推荐
东风破_2 小时前
ESLint 是什么?为什么你的项目需要它?
前端·后端·代码规范
嘻哈∠※2 小时前
0061基于 SpringBoot 的投稿与稿件处理系统设计与实现
java·spring boot·后端
卷无止境2 小时前
在 awesome-fastapi 里,哪些库值得一看?
后端·python
卷无止境3 小时前
FastAPI 的Admin面板生态
后端·python
捡田螺的小男孩5 小时前
什么是 Skill?手把手带你写一个简单有用的 Skill!
前端·后端·程序员
IT_陈寒5 小时前
Redis集群这个坑,差点让我通宵
前端·人工智能·后端
用户8356290780515 小时前
Python 自动化 Word 文本框处理:创建、定位、填充内容与管理
后端·python
网渡科技5 小时前
向量数据库选型指南:RAG场景下的性能对比与调优策略
后端
riverNijika6 小时前
项目学习笔记:C++基础同步输出日志库
后端
Lyra_Infra6 小时前
OpenClaw 升级及 Channel 安装故障排查与遗留问题分析
后端·npm