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

解决LocalDateTime传输前端为时间的数组

问题出现如下:

问题出现原因:

默认序列化情况下会使用SerializationFeature.WRITE_DATES_AS_TIMESTAMPS。使用这个解析时就会打印出数组。

解决方法:

我在全文搜索处理方法总结如下:

1.前端自定义函数来书写
        ,cols: [[ //表头{type: 'checkbox', fixed: 'left'},{field: 'purchaseId', title: 'ID',  sort: true, fixed: 'left',hide:true},{field: 'supplierName', title: '供应商名称',sort: true}//当field是直属属性时,可以不用temple去获取!,{field: 'userName', title: '采购员', sort: true},{field: 'purchaseDate', title: '采购时间',sort: true,templet:function(resp){return dateArrayTransfer(resp.purchaseDate,'yyyy-MM-dd HH:mm:ss');}},{fixed:'right',title:'操作',toolbar:'#operatBtn'}function dateArrayTransfer(dateArray) {if(dateArray == null || dateArray == ''){return '';}var returnDate = dateArray[0]+"-"+returnDoubleNum(dateArray[1])+"-"+returnDoubleNum(dateArray[2])+" "+returnDoubleNum(dateArray[3])+":"+returnDoubleNum(dateArray[4])+":"+returnDoubleNum(dateArray[5]);return returnDate;
}
//保证两位数
function returnDoubleNum(number) {return (Array(2).join(0) + number).slice(-2);//创建一个长度为2的数组,且默认用0填充;然后用传过来的数添加都右边,然后从右向左截取两位!
}
2.后端处理:

两个方法

一、一劳永逸法:修改消息转换器

在WebMvcConfig配置类中扩展Spring Mvc的消息转换器,在此消息转换器中使用提供的对象转换器进行Java对象到json数据的转换():

写在下面这个配置类里,继承了WebMvcConfiguer

package com.aqiuo.config;import com.aqiuo.Interceptor.LoginInterceptor;
import com.aqiuo.Interceptor.RefreshInterceptor;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.databind.module.SimpleModule;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.http.HttpOutputMessage;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.HttpMessageNotWritableException;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;import java.io.IOException;
import java.lang.reflect.Type;
import java.util.List;/*** 配置访问拦截器*/
@Configuration
public class MVCConfig implements WebMvcConfigurer {@AutowiredStringRedisTemplate stringRedisTemplate;@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new LoginInterceptor(stringRedisTemplate)).addPathPatterns("/class").addPathPatterns("/course").excludePathPatterns("/user/login").excludePathPatterns("/user/register");registry.addInterceptor(new RefreshInterceptor(stringRedisTemplate)).addPathPatterns("/**");}@Overridepublic void extendMessageConverters(List<HttpMessageConverter<?>> converters) {MappingJackson2HttpMessageConverter jackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter();ObjectMapper objectMapper = jackson2HttpMessageConverter.getObjectMapper();// 不显示为null的字段objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);SimpleModule simpleModule = new SimpleModule();simpleModule.addSerializer(Long.class, ToStringSerializer.instance);simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance);objectMapper.registerModule(simpleModule);objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);jackson2HttpMessageConverter.setObjectMapper(objectMapper);// 放到第一个converters.add(0, jackson2HttpMessageConverter);}}

二、简单,增加注解

  1. 在定义LocalDateTime类型的属性上添加两行注解
    @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")                    // 表示返回时间类型@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")      // 表示接收时间类型@ApiModelProperty(value = "注册时间")private LocalDateTime date;

二者都可以!!!

相关文章:

解决LocalDateTime传输前端为时间的数组

问题出现如下&#xff1a; 问题出现原因&#xff1a; 默认序列化情况下会使用SerializationFeature.WRITE_DATES_AS_TIMESTAMPS。使用这个解析时就会打印出数组。 解决方法&#xff1a; 我在全文搜索处理方法总结如下&#xff1a; 1.前端自定义函数来书写 ,cols: [[ //表头{…...

01:编译lua及C调用

我们今天在windows平台编译lua&#xff0c;生成 lua动态库,lua.exe&#xff0c;luac.exe 我把这个目录上传到giee&#xff0c;使用下面命令获取它: git clone gitgitee.com:jameschenbo/lua_c_application.git 目录结构如下&#xff1a; build.cmd 是编译脚本&#xff0c;在…...

网络运维与网络安全 学习笔记2023.11.24

网络运维与网络安全 学习笔记 第二十五天 今日目标 DHCP中继代理、三层交换机DHCP、子网划分的原理、子网划分的应用 项目需求分析、技术方案选型、网络拓扑绘制 基础交换网络设计、内网优化、连接外网服务器 DHCP中继代理 DHCP中继概述 场景&#xff1a; DHCP客户端与DH…...

常见树种(贵州省):022绣线菊、月月青、金合欢、胡枝子、白刺花

摘要&#xff1a;本专栏树种介绍图片来源于PPBC中国植物图像库&#xff08;下附网址&#xff09;&#xff0c;本文整理仅做交流学习使用&#xff0c;同时便于查找&#xff0c;如有侵权请联系删除。 图片网址&#xff1a;PPBC中国植物图像库——最大的植物分类图片库 一、绣线菊…...

微星主板开启VT

微星主板模拟器使用 开启VT 进入BIOS高级-》OC-》CPU特征-》intel 虚拟化技术-》允许...

【C++】类型转换 ② ( C++ 静态类型转换 static_cast | C 语言隐式转换弊端 | 代码示例 )

文章目录 一、静态类型转换 static_cast1、C 静态类型转换 static_cast2、C 语言隐式转换弊端3、代码示例 在之前写过一篇 C 类型转换的博客 【C 语言】类型转换 ( 转换操作符 | const_cast | static_cast | dynamic_cast | reinterpret_cast | 字符串转换 ) , 简单介绍了 C 类…...

14.配置Bean有哪几种方式?

配置Bean有哪几种方式? 基于xml: <bean class=“com.tuling.UserService” id=“”>基于注解: @Component(@Controller 、@Service、@Repostory) 前提:需要配置扫描包<component-scan> 反射调用构造方法基于java类配置: @Bean 可以自己控制实例化过程@Import 3种…...

RV1126芯片中的V4L2驱动开发

RV1126芯片概述 RV1126芯片是瑞芯微推出的一款高性能嵌入式人工智能处理器&#xff0c;具有较强的图像处理和音视频处理能力。它采用了双核Cortex-A7架构和一颗DSP核心&#xff0c;支持多种接口和外设&#xff0c;如MIPI CSI、HDMI、USB等&#xff0c;可以广泛应用于物联网、智…...

Linux中部署MongoDB

在 是一个必要的过程&#xff0c;因为MongoDB是一种流行的NoSQL数据库&#xff0c;它可以在大多数操作系统上使用。在本文中&#xff0c;我们将介绍如何在CentOS 8上部署MongoDB。 MongoDB的下载 您可以从MongoDB官网上下载最新的MongoDB版本。使用以下命令下载MongoDB&#…...

Halcon 5分钟学会9点标定 带图片示例、示例源码

9点标定应用流程 前置条件&#xff0c;相机焦距&#xff0c;视野固定高度和角度&#xff0c;光源光强度固定。 移动机械手&#xff0c;使用螺丝批头&#xff0c;在视野范围内的白纸上&#xff0c;点九个点&#xff0c;记录每个点位的位置&#xff0c;每个点位的顺序要和图像上获…...

【非监督学习 | 聚类】聚类算法类别大全 距离度量单位大全

&#x1f935;‍♂️ 个人主页: AI_magician &#x1f4e1;主页地址&#xff1a; 作者简介&#xff1a;CSDN内容合伙人&#xff0c;全栈领域优质创作者。 &#x1f468;‍&#x1f4bb;景愿&#xff1a;旨在于能和更多的热爱计算机的伙伴一起成长&#xff01;&#xff01;&…...

案例026:基于微信的原创音乐小程序的设计与实现

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;SSM JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder X 小程序…...

网络运维与网络安全 学习笔记2023.11.26

网络运维与网络安全 学习笔记 第二十七天 今日目标 NAT场景与原理、静态NAT、动态NAT PAT原理与配置、动态PAT之EasyIP、静态PAT之NAT Server NAT场景与原理 项目背景 为节省IP地址和费用&#xff0c;企业内网使用的都是“私有IP地址” Internet网络的组成设备&#xff0c…...

STM32使用多路PWM注意事项

这是使用CubeMX自动产生的代码&#xff0c;使用TIM2产生了PA0,PA1,PA2,PA3这4路PWM&#xff0c;可以看到里面Pulse是共同使用了一个sConfigOC,如果是需要动态调整Pulse&#xff0c;就需要特别注意。 如果是用来产生呼吸灯&#xff0c;就会把这4个PWM都打乱&#xff0c;我觉得&a…...

汽车转向桥设计转向节转向桥机械设计

wx供重浩&#xff1a;创享日记 对话框发送&#xff1a;转向桥 获取完整报告说明书工程源文件 转向节图 装配图 本文设计的是JY1061A型采用前置后轮驱动的载货汽车转向桥&#xff0c;因此该转向桥为从动桥。从动桥的功用&#xff1a;从动桥也称非驱动桥&#xff0c;又称从动车轴…...

前端实现埋点

前端实现埋点 如何去了解用户呢&#xff1f;最直接有效的方式就是了解用户的行为&#xff0c;了解用户在网站中做了什么&#xff0c;呆了多久。而如何去实现这一操作&#xff0c;这就涉及到我们前端的埋点了。 埋点方式 什么是埋点&#xff1f; 所谓埋点是数据采集领域&…...

Apache多后缀解析漏洞分析

漏洞介绍 该漏洞与用户的配置有密切的关系,严格来说属于用户配置问题。Apache文件解析漏洞涉及到 Apache 解析文件的特性。在默认情况下,Apache 允许一个文件具有多个以点分割的后缀,在处理文件时会从右向左识别后缀名。(就是右边的后缀名无法识别,则继续识别左边的) 如果…...

基于Loki + Promtail + Grafana 搭建 Nginx 日志监控

文章目录 引言第一部分&#xff1a;Loki 简介与安装1.1 Loki 简介1.2 Loki 安装1.2.1 下载 Loki1.2.2 安装 Loki 1.3 启动 Loki 第二部分&#xff1a;Promtail 简介与安装2.1 Promtail 简介2.2 Promtail 安装2.2.1 下载 Promtail2.2.2 安装 Promtail 2.3 启动 Promtail 第三部分…...

车载通信架构 —— 传统车内通信网络CAN(可靠性为王)

车载通信架构 —— 传统车内通信网络CAN(可靠性为王) 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非…...

visual Studio MFC 绘制单一颜色三角形、渐变颜色边框三角形、渐变填充三角形、边框渐变的正方形与填充渐变的正方形实例

MFC 绘制三角形 本文使用visual Studio MFC 平台实现绘制单一颜色三角形、渐变颜色边框三角形、渐变填充三角形、边框渐变的正方形与填充渐变的正方形. 关于基础工程的创建请参考Visual Studio 使用MFC 单文档工程绘制单一颜色直线和绘制渐变颜色的直线 文章目录 MFC 绘制三角形…...

Amber与Kemal框架深度对比:为什么选择Amber开发企业级应用

Amber与Kemal框架深度对比&#xff1a;为什么选择Amber开发企业级应用 【免费下载链接】amber A Crystal web framework that makes building applications fast, simple, and enjoyable. Get started with quick prototyping, less bugs, and blazing fast performance. 项目…...

ERTEC 系列 PROFINET 芯片级硬件过滤器分析恫

一、语言特性&#xff1a;Java 26 与模式匹配进化 1.1 Java 26 语言级别支持 IDEA 2026.1 EAP 最引人注目的变化之一&#xff0c;就是新增 Java 26 语言级别支持。这意味着开发者可以提前体验和测试即将在 JDK 26 中正式发布的语言特性。 其中最重要的变化是对 JEP 530 的全面支…...

国民技术N32G45x定时器:从时钟树到精准周期计算的实践解析

1. 国民技术N32G45x定时器入门指南 第一次接触N32G45x系列MCU的定时器功能时&#xff0c;我也被各种时钟配置搞得晕头转向。后来在实际项目中反复调试才发现&#xff0c;只要掌握几个关键点&#xff0c;定时器的使用其实并不复杂。N32G45x作为国民技术推出的高性能MCU&#xff…...

3步安全获取阿里云盘Refresh Token:从工具部署到高效应用指南

3步安全获取阿里云盘Refresh Token&#xff1a;从工具部署到高效应用指南 【免费下载链接】aliyundriver-refresh-token QR Code扫码获取阿里云盘refresh token For Web 项目地址: https://gitcode.com/gh_mirrors/al/aliyundriver-refresh-token 在云存储自动化管理领域…...

AppFlowy 终极安装配置完整教程:快速搭建个人AI知识库

AppFlowy 终极安装配置完整教程&#xff1a;快速搭建个人AI知识库 【免费下载链接】AppFlowy Bring projects, wikis, and teams together with AI. AppFlowy is the AI collaborative workspace where you achieve more without losing control of your data. The leading ope…...

WarcraftHelper:魔兽争霸III游戏优化与兼容性解决方案

WarcraftHelper&#xff1a;魔兽争霸III游戏优化与兼容性解决方案 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper WarcraftHelper是一款针对魔兽争霸I…...

OpenClaw多任务引擎:并行调用SecGPT-14B完成大规模日志分析

OpenClaw多任务引擎&#xff1a;并行调用SecGPT-14B完成大规模日志分析 1. 为什么需要并行日志分析 上周我遇到了一个棘手的问题——需要分析一组总量超过30GB的Nginx访问日志。当我尝试用传统方法处理时&#xff0c;单线程脚本跑了6小时才完成初步解析&#xff0c;而更复杂的…...

别再吹牛了,% Vibe Coding 存在无法自洽的逻辑漏洞!蕾

简介 langchain中提供的chain链组件&#xff0c;能够帮助我门快速的实现各个组件的流水线式的调用&#xff0c;和模型的问答 Chain链的组成 根据查阅的资料&#xff0c;langchain的chain链结构如下&#xff1a; $$Input \rightarrow Prompt \rightarrow Model \rightarrow Outp…...

STM32 RS485远程固件升级实战:从Bootloader设计到C#上位机开发全流程

STM32 RS485远程固件升级实战&#xff1a;从Bootloader设计到C#上位机开发全流程 在工业物联网和野外设备部署场景中&#xff0c;固件升级一直是个令人头疼的问题。想象一下&#xff0c;当某个偏远地区的环境监测设备出现软件故障时&#xff0c;工程师需要驱车数小时前往现场&a…...

PCB焊盘与过孔匹配的核心标准与基础原理

Q&#xff1a;PCB 设计中&#xff0c;焊盘大小与过孔直径匹配的核心原则是什么&#xff1f;A&#xff1a;PCB 焊盘与过孔直径匹配的核心原则是保证足够的焊环宽度&#xff0c;这是实现可靠电气连接、机械强度与可制造性的基础。根据 IPC-2221 国际标准&#xff0c;焊盘直径必须…...