springboot项目中关于时间类型转换的格式问题

常常项目里转时间类型出现如下错误。

Can not deserialize value of type java.util.Date from String \"2021-10-24 12:12:12\"
: not a valid representation(error: Failed to parse Date value '2018-10-24 12:12:12': Can not parse date\"2021-10-24 12:12:12Z\": while it seems tofit format 'yyyy-MM-dd'T'HH:mm:ss.SSS'Z'', parsing fails (leniency? null))\n ...

其实,在我们springboot项目里对于传入传出参数中的时间类型格式化有很多方法,有一种比较简单的:

这种方式是最简单配置的,但是也限制了所有的接口,必须按照配置好的格式传入传出时间类型。当然,也有办法解决前端传入参数不匹配的问题,后边会说。

1、最简单的配置如下:

找到application.properties 文件,在其中加入下面这两行

spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8

其中,yyyy-MM-dd HH:mm:ss 可以写为yyyy-MM-dd hh:mm:ss 。如果这种格式,表示传入传出参数必须要带有时分秒。如下的传入参数:

{"countmj": "string","creatdate": "2021-10-24 12:12:12"
}
controller中的写法:
@RestController
@RequestMapping("/test")
public class Test1Controller extends BaseController{@RequestMapping(value="/postone",method = RequestMethod.POST)public Object getTest1(@RequestBody CqjyZcfxx zcfxx){if(zcfxx == null){return addResultMapMsg(false,"参数为空");}System.out.println(zcfxx.getCreatdate());return addResultMapMsg(true,zcfxx);}
}

其中接口部分post 请求的还可以如下写法:

    @PostMapping("/posttwo")public Object getTest2(@RequestBody CqjyZcfxx zcfxx){if(zcfxx == null){return addResultMapMsg(false,"参数为空");}zcfxx.setCreatdate(new Date());return addResultMapMsg(true,zcfxx);}

另外get 请求的写法如下:

    @GetMapping("/gettwo")public Object getTest2(CqjyZcfxx zcfxx){if(zcfxx == null){return addResultMapMsg(false,"参数为空");}zcfxx.setCreatdate(new Date());return addResultMapMsg(true,zcfxx);}

但是,千万别如下这种写法,get 请求不支持@RequestBody 的。

    @GetMapping("/getone")public Object getTest1(@RequestBody CqjyZcfxx zcfxx){if(zcfxx == null){return addResultMapMsg(false,"参数为空");}System.out.println(zcfxx.getCreatdate());return addResultMapMsg(true,zcfxx);}

传入参数不匹配的问题

??当然我们可能还有这样的问题,不同的前端人员,可能用不同的格式对你的小date传入,比如是时间戳丢给你,date表达式丢给你,明明你是年月日时分秒,他非要给你个年月日,等等。那改怎么办呢?
?? 如果出现了这种情况,也好办,只不过需要变一下接收办法即可。方法有两种:

1、ObjectMapper 类接收json的方式

ObjectMapper 这个不需要引包,只需要在controller 里这么写:

    @RequestMapping(value="/add",method = RequestMethod.POST)public Object addUser(@RequestBody String req){ObjectMapper jsonTranster = new ObjectMapper().setDateFormat(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"));CqjyXmtp cqjyXmtp = null;try{cqjyXmtp = jsonTranster.readValue(req, CqjyXmtp.class);}catch (Exception e) {e.printStackTrace();return false;}
2、Gson 类接收json的方式

还有一种,是以Gson 的方式转json串,这个需要引入包,我引的是下边的依赖:

   <dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>2.8.0</version></dependency>

写法差不多:

  @RequestMapping(value="/add",method = RequestMethod.POST)public Object addUser(@RequestBody String req){Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd hh:mm:ss").create();CqjyXmtp cqjyXmtp = null;try{cqjyXmtp = gson.fromJson(req,CqjyXmtp .class);}catch (Exception e) {e.printStackTrace();return false;}

如果没什么特殊要求,我觉得,用第一种最好!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/556705.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何用计算机计算胸围,文胸尺码计算器

文胸尺码计算器也称胸罩尺寸计算器&#xff0c;是根据国际标准制定的文胸尺寸、胸罩尺寸表计算您的文胸尺码。胸围尺寸测量方法如下&#xff1a;水平围绕胸部最高点(乳头)一周的长度&#xff0c;即为您的胸上围尺寸&#xff0c;如测量尺寸时遇到小数&#xff0c;测量时建议采用…

SpringBoot升级到2.0后默认时间格式变化_springboot接收date类型参数

springboot1.x时&#xff0c;请求返回默认将Date类型转换成时间戳&#xff1a; createTime: 1544693261000然而在升级到springboot2.0后&#xff0c;默认返回的时间格式变成了UTC字符串&#xff1a; createTime: "2021-12-13T09:27:41.0000000"对于网页端或安卓端&…

与虚拟现实技术相关联的计算机技术,虚拟现实技术与其他技术的关系是什么?-VR-形象思维VR...

1.虚拟现实技术与可视化仿真技术的关系虚拟现实与可视化仿真技术有着密切的联系&#xff1a;两者都被视为现代图形学的应用主流和技术生长点。可视化仿真着重于将计算机产生的大量数据转化为图形&#xff0c;化抽象思维为形象思维&#xff0c;而虚拟现实则致力于提供和谐的人机…

org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.logException Resolved

场景&#xff1a; spring项目中无法访问到对应controller&#xff0c;查看日志&#xff0c;没有报错&#xff0c;只有warnring&#xff1a; org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.logException Resolved [org.springframework.web.meth…

带桭字的名字_男孩带官运大气的名字有气魄有能力-可爱点

一个好的名字传承了祖辈的血脉烙印&#xff0c;寄托了父母的满心希望和浓重的情意&#xff0c;取一个官运财运旺的名字&#xff0c;相信能让男孩更加充满自信和动力&#xff0c;这里整理了男孩带官运大气的名字的内容&#xff0c;来看看有没有给你们带来灵感呢。1、景辉“景”字…

无法在计算机上创建文件夹iscsi,ISCSI连接后磁盘无法读写问题求解决

ISCSI target&#xff1a;windows 2000 pro操作系统ISCSI initiator&#xff1a;SUSE linux 9.0SUSE LINUX 9.0配置文件&#xff1a;iscsi.conf# You may configure CHAP authentication settings that will apply to every# target discovered at a particular address by add…

springboot基于mybatis扫描jar包中的controller、service、dao、xml

springboot基于mybatis扫描jar包中的controller、service、dao、xml 最近有这样的需求&#xff0c;是将某个业务模块接口&#xff0c;比如新闻的接口模块 作为一个公共固定的模块&#xff0c;整个包括controller 、model 、mapper 、mapper .xml &#xff0c;都通过jar 包的形…

java 后台和前端的消息提醒_滴滴Java后台3面题目:网络+内存溢出+各种锁+高性能+消息队列...

一面自我介绍项目介绍JVM类加载机制java的垃圾回收器都有哪些&#xff0c;说下g1的应用场景&#xff0c;平时你是如何搭配使用垃圾回收器的。红黑树的设计经常使用的设计模式&#xff1f;以及UML设计&#xff1f;hashmap实现的的数据结构是什么样的&#xff1f;当hash冲突过多时…

springboot 配置多个请求服务代理

springboot 配置服务代理 有时候&#xff0c;我们可能有下边这样的需求&#xff1a; 即&#xff0c;针对于分布式服务&#xff0c;我们会有多种业务接口服务&#xff0c;但是服务器上可能只要求开放一个服务的端口&#xff0c;比如上图的restA项目端口是对外开放的&#xff0…

计算机控制pid控制实验,计算机控制实验三数字PID调节器算法的研究

计算机控制技术实验报告学院&#xff1a;********** 班级&#xff1a;********** 姓名&#xff1a;****** 学号&#xff1a;**********实验三 数字PID调节器算法的研究实验项目名称&#xff1a;数字PID调节器算法的研究 实验项目性质&#xff1a;普通所属课程名称&#xff1a;计…

主板上的jrgb接口干什么用_用思维导图,解读选配主板的过程,重点解读兼容与接口的搭配技术...

本文用思维导图&#xff0c;解读选配主板的过程&#xff0c;重点解读兼容与接口的搭配技术&#xff0c;选择了5块不同主板&#xff0c;说明主板内容。重点提示&#xff0c;主板决定一台计算机能否稳定运行。任务描述&#xff1a;重点解读兼容与接口的搭配技术,解读选配主板的过…

Linux启动Mysql

关于Linux上安装Mysql可以查看之前的博客&#xff1a;https://blog.csdn.net/qq_43842093/article/details/120401076 Linux启动Mysql 下查看mysql服务的两种方式&#xff1a; 方式一&#xff1a; [rootlocalhost bin]ps -ef|grep mysql方式二&#xff1a; [rootlocalhost…

多媒体计算机技术19秋作业1,东师多媒体计算机技术19春在线作业1【标准答案】.doc...

多媒体计算机技术19春在线作业1-0002试卷总分:100 得分:0一、 单选题 (共 30 道试题,共 60 分)1.1984年公布的音频编码标准G.721&#xff0c;它采用的是()编码。A.均匀量化B.自适应量化C.自适应差分脉冲D.线性预测2.什么时候需要使用MIDI,()   (l)想音乐质量更好时 (2)想连续…

随机抽样java_实现随机抽样【随机数生成问题】

1、rand()定义&#xff1a;int rand(void);返回值&#xff1a;返回一个伪随机数&#xff0c;该数的范围是&#xff1a;[0,RAND_MAX)2、srand()定义&#xff1a;void srand(unsigned intseed);返回值&#xff1a;该函数是随机数发生器的初始化函数&#xff1b;如果使用相同的种子…

springboot配置shiro多项目实现session共享的详细步骤

springboot配置shiro多项目实现session共享的详细步骤 公司需要这样的需求&#xff1a; 有两个项目master 主项目、suiteone 项目&#xff0c;两个项目各自由shiro 安全框架管理&#xff0c;当不能登录时&#xff0c;都无法访问&#xff0c;但当登录了其中一个&#xff0c;再…

shiro框架---关于多项目之间验证为什么需要共享session

关于多项目之间登录验证为什么需要共享session 服务器上部署了两个项目&#xff0c;登录之后才可以访问其中的接口。现在想要实现&#xff0c;当登录项目1成功后&#xff0c;可以不需要再登录项目2&#xff0c;直接可以访问项目2中的接口。 大部分人都会想到&#xff0c;共享s…

怎么黑学校计算机室的电脑,大学计算机室变身黑网吧 校方:有需求

河南经贸职业学院计算机房在课间向学生收费办卡使用&#xff0c;被指变相开设“网吧”&#xff0c;一些学生痴迷于网络游戏中。对此&#xff0c;校方向记者表示&#xff1a;“上课时间不收费&#xff0c;课外时间有偿使用&#xff0c;学生有上网需求。”计算机房向学生收费玩游…

Linux重置Mysql密码_解决MySQL for Linux错误 ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost

Linux重置Mysql密码 一般这个错误是由密码错误引起&#xff0c;解决的办法自然就是重置密码。 假设我们使用的是root账户。 1.重置密码的第一步就是跳过MySQL的密码认证过程&#xff0c;方法如下&#xff1a; #vim /etc/my.cnf(注&#xff1a;windows下修改的是my.ini) 在…

计算机管理档案有什么好处,利用资料管理系统管理档案有什么好处

现在企业的档案都是比较多比较杂&#xff0c;也是非常重要的&#xff0c;所以利用资料管理系统管理档案&#xff0c;比传统档案管理方式要方便快捷得多。资料管理系统能够将文件处理和档案管理两个管理系统有机的结合在一起&#xff0c;真正实现无纸操作&#xff0c;规范管理&a…

excel 公式 平移 引用单元格_不学会这3个Excel隔列求和函数公式,你只能一个个单元格去相加...

Excel中的求和&#xff0c;并不是你们想的123那么简单。有单条件求和、多条件求和&#xff0c;合并单元格求和&#xff0c;隔列求和等等。有关求和的函数也很多&#xff0c;例如SUM函数、SUMIFS函数、还有与这两个函数结合使用的其它函数等等&#xff0c;不知道你们了解了多少。…