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

前端get请求日期类型参数向后端传参失败

1、背景

get请求,通过url上传参,因此日期类型是string类型数据

2、异常信息

nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [java.time.LocalDate] for value '2011-02-01';
 nested exception is java.lang.IllegalArgumentException: Parse attempt failed for value [2011-02-01]] 

3、解决方案

请求参数中添加

@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate contractStartDateEnd;

不能使用@JsonFormat

4、原因

  1. 注解@JsonFormat主要是后端到前端的时间格式的转换

  2. 注解@DateTimeFormat主要是前端到后端的时间格式的转换

  3. 这两者的注解一般联合使用

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
    private Date time;

      4.区别如下:

(1)@JsonFormat 是 Jackson 库中的注解,用于在序列化和反序列化过程中控制日期和时间的格式

该注解提供了一种自定义日期和时间格式的方式,以确保在 JSON 数据和 Java 对象之间正确地进行转换

(2)@DateTimeFormat 是 Spring 框架中用于处理日期和时间格式的注解。

它通常与 @RequestMapping、@RequestParam 等注解一起使用,以指定接收或发送日期时间参数时的格式。

以下是 @DateTimeFormat 注解的一些主要概念和功能:

pattern(模式): 通过 pattern 属性,您可以指定日期和时间的格式。
与 @JsonFormat 不同,@DateTimeFormat 是专门为 Spring 框架设计的,用于在 Web 请求中处理日期参数。

iso(ISO标准格式): 使用 iso 属性可以指定使用 ISO 标准的日期时间格式。
例如,@DateTimeFormat(iso = ISO.DATE) 表示日期部分采用标准日期格式。

style(样式): style 属性定义了预定义的日期和时间格式。
有三种样式可用:DEFAULT、SHORT、MEDIUM、LONG、FULL。这些样式在不同的地区设置下有不同的显示效果。

lenient(宽松解析): lenient 属性用于指定是否宽松解析日期。
如果设置为 true,则在解析日期时会尽量接受不严格符合格式的输入。

patternResolver(模式解析器): patternResolver 属性允许您指定自定义的模式解析器,以便更灵活地处理日期时间格式。

相关文章:

前端get请求日期类型参数向后端传参失败

1、背景 get请求,通过url上传参,因此日期类型是string类型数据 2、异常信息 nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [java.time.LocalDate] for…...

【docker 】 push 镜像提示:denied: requested access to the resource is denied

往 Docker Registry &#xff08;私服&#xff09;push 镜像提示&#xff1a;denied: requested access to the resource is denied 镜像push 语法&#xff1a;docker push <registry-host>:<registry-port>/<repository>:<tag> docker push 192.16…...

浏览器各类好用插件使用及常见问题(技巧)总结

目录 Vimium C快捷键问题为什么Vimium C - 全键盘操作浏览器插件在百度页面中, x ,o,f等快捷键不起作用如何使用viminum c插件进行自定义快捷键?vimucm 为什么在浏览器首页时快捷键不起作用? 网页截图问题firefox 网页截图使用 idm问题浏览器点击idm 不下载? 待续、更新中 V…...

Python批量计算多张遥感影像的NDVI

本文介绍基于Python中的gdal模块&#xff0c;批量基于大量多波段遥感影像文件&#xff0c;计算其每1景图像各自的NDVI数值&#xff0c;并将多景结果依次保存为栅格文件的方法。 如下图所示&#xff0c;现在有大量.tif格式的遥感影像文件&#xff0c;其中均含有红光波段与近红外…...

6.k8s中的secrets资源

一、Secret secrets资源&#xff0c;类似于configmap资源&#xff0c;只是secrets资源是用来传递重要的信息的&#xff1b; secret资源就是将value的值使用base64编译后传输&#xff0c;当pod引用secret后&#xff0c;k8s会自动将其base64的编码&#xff0c;反编译回正常的字符…...

git 更换远程仓库地址三种方法总结

git 更换远程仓库地址三种方法总结 一、前言 由于私服的 gitlab 的地址变更&#xff0c;导致部分项目代码提交不上去&#xff0c;需要修改远端仓地址。 其它需要修改远程仓地址的情况如&#xff1a;切换git clone 协议由ssh变为https。 二、环境 windows 10git version 2.3…...

快速找出存(不存在)在某个(或多个)文件的文件夹

首先&#xff0c;需要用到的这个工具&#xff1a; 度娘网盘 提取码&#xff1a;qwu2 蓝奏云 提取码&#xff1a;2r1z 想要找出有下面这个文件存在的文件夹 切换到批量文件复制版块&#xff0c;快捷键Ctrl5 右侧&#xff0c;搜索添加 选定范围&#xff0c;勾选搜索文件夹、包…...

Linux USB转串口设备路径的查找方法

1、USB转串口设备 USB转串口设备是在嵌入式软件开发过程中经常要使用的&#xff0c;常常用于对接各种各样的串口设备。如果一台linux主机上使用多个usb转串口设备时&#xff0c;应用程序中就需要知道自己操作的是哪个串口设备。串口设备在系统上电时&#xff0c;由于驱动加载的…...

【初阶数据结构】单链表之环形链表

目录标题 前言环形链表的约瑟夫问题环形链表环形链表|| 前言 前面我们已经学习了关于单链表的一些基本东西&#xff0c;今天我们来学习单链表的一个拓展——环形链表&#xff0c;我们将用力扣和牛客网上的三道题目来分析讲解环形链表问题。 环形链表的约瑟夫问题 我们首先来看…...

【积分,微分,导数,偏导数公式推导】

1. 积分 积分是微积分的一个分支&#xff0c;用于计算曲边梯形的面积或者变速直线运动的总距离等。积分分为不定积分和定积分。 不定积分&#xff1a;给出一个函数&#xff0c;求出其所有可能的原函数。定积分&#xff1a;计算一个函数在特定区间上的积分。 2. 微分 微分是…...

java:递归实现的案例

//求第20个月兔子的对数 //每个月兔子对数&#xff1a;1&#xff0c;1&#xff0c;2&#xff0c;3&#xff0c;5&#xff0c;8 public class Test {//求第20个月兔子的对数//每个月兔子对数&#xff1a;1&#xff0c;1&#xff0c;2&#xff0c;3&#xff0c;5&#xff0c;8pu…...

Arxml文件解析03- 自动驾驶Radar服务radar_svc.arxml

<AR-PACKAGES><AR-PACKAGE><SHORT-NAME>bosch</SHORT-NAME><AR-PACKAGES>...</AR-PACKAGES>...

Elasticsearch安装步骤

引言 Elasticsearch是一个基于Lucene构建的开源、分布式、RESTful搜索和分析引擎。它设计用于云计算中&#xff0c;能够达到实时搜索&#xff0c;稳定&#xff0c;可靠&#xff0c;快速&#xff0c;安装使用方便。Elasticsearch为所有类型的数据提供近乎实时的搜索和分析。无论…...

Windows系统和unbtun系统连接usb 3.0海康可见MVS和红外艾睿相机

一.海康可见USB3.0工业面阵相机 海康usb相机需要去海康官网上下载对应系统的MVS客户端及SDK开发包 海康机器人-机器视觉-下载中心 选择Windows系统和unbtun&#xff08;我是linux aarch64,所以选择了对应压缩包解压&#xff09; Windows系统 1.双击安装包进入安装界面&…...

深入Django:用户认证与权限控制实战指南

title: 深入Django&#xff1a;用户认证与权限控制实战指南 date: 2024/5/7 18:50:33 updated: 2024/5/7 18:50:33 categories: 后端开发 tags: AuthDecoratorsPermissionsGuardianRESTAuthSessionMgmtMFA 第1章&#xff1a;入门Django与设置 1.1 Django安装与环境配置 在…...

Kubernetes - Dashboard 配置用户名密码方式登录

Kubernetes - Dashboard 配置用户名密码方式登录 前言&#xff1a; 为了 K8s 集群安全&#xff0c;默认情况下 Dashboard 以 Token的形式登录的&#xff0c;那如果我们想以用户名/密码的方式登录该怎么操作呢&#xff1f;其实只需要我们创建用户并进行 ClusterRoleBinding绑定即…...

AIGC能给人类社会带来哪些变革?

随着人工智能技术的飞速发展&#xff0c;AIGC&#xff08;人工智能生成内容&#xff09;正在成为推动社会变革的重要力量。本文将从技术角度出发&#xff0c;探讨AIGC技术如何影响和改变人类生活的各个方面。 一、AIGC技术概述 AIGC&#xff0c;即人工智能生成内容&#xff0…...

医药垃圾分类管理系统|基于SSM医药垃圾分类管理系统的系统设计与实现(源码+数据库+文档)

医药垃圾分类管理系统 目录 基于SSM医药垃圾分类管理系统设计与实现 一、前言 二、系统设计 三、系统功能设计 1系统登录模块 2管理员模块实现 3用户模块实现 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博…...

用vim或gvim编辑程序

vim其实不难使用&#xff0c;学习一下就好了。简单功能很快学会。它有三种模式&#xff1a;命令模式&#xff0c;编辑模式&#xff0c;视模式。打开时在命令模式。在命令模式下按 i 进入编辑模式&#xff0c;在编辑模式下按<Esc>键退出编辑模式。在命令模式按 :wq 保存文…...

linus下Anaconda创建虚拟环境pytorch

一、虚拟环境 1.创建 输入下面命令 conda create -n env_name python3.8 输入y 2.激活环境 输入 conda activate env_name 二、一些常用的命令 在Linux的控制平台 切换到当前的文件夹 cd /根目录/次目录 查看conda目录 conda list 查看pip目录 pip list查看历史命…...

3步解决Mac读写NTFS难题:免费开源工具完全指南

3步解决Mac读写NTFS难题&#xff1a;免费开源工具完全指南 【免费下载链接】Free-NTFS-for-Mac Nigate: An open-source NTFS utility for Mac. It supports all Mac models (Intel and Apple Silicon), providing full read-write access, mounting, and management for NTFS …...

ExploitDB二进制漏洞库使用教程:快速查找和利用漏洞的简单方法

ExploitDB二进制漏洞库使用教程&#xff1a;快速查找和利用漏洞的简单方法 【免费下载链接】exploitdb-bin-sploits The legacy Exploit Database repository - New repo located at https://gitlab.com/exploit-database/exploitdb-bin-sploits 项目地址: https://gitcode.c…...

Linux密钥文件管理实战指南

Linux密钥文件管理实战指南本文面向具备一定 Linux 基础的技术人员&#xff0c;围绕密钥文件管理展开&#xff0c;重点讨论敏感文件权限、轮换流程和审计追踪。在中级运维和系统管理工作中&#xff0c;这类主题常常与配置变更、资源状态、权限边界、自动化任务和业务影响交织在…...

5步掌握VideoDownloadHelper:让网页视频下载变得简单高效

5步掌握VideoDownloadHelper&#xff1a;让网页视频下载变得简单高效 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 你是否曾经遇到过这样的…...

张琦(新商业架构师)成功的核心步骤 + 关键心法

张琦&#xff08;新商业架构师&#xff09;成功的核心步骤 关键心法&#xff0c;和李一舟完全不同&#xff0c;她走的是认知升维&#xff0b;天地人网全域流量&#xff0b;击穿单点&#xff0b;长期复利路线&#xff0c;全是可落地、能直接照做的干货。 一、张琦成功的底层逻辑…...

Beam Search不是训练用的!搞懂它在NLP模型评估中的正确打开方式

Beam Search在NLP模型评估中的正确实践指南 当你在调试一个文本生成模型时&#xff0c;是否遇到过这样的困惑&#xff1a;训练时指标表现优异&#xff0c;实际生成时却频频输出不连贯的句子&#xff1f;这往往源于对序列生成任务中关键环节——推理阶段解码策略的误解。许多开发…...

【亲测免费】 Teigha各版本使用汇总

Teigha各版本使用汇总 【下载地址】Teigha各版本使用汇总 这份汇总不仅提供了这些版本的下载链接&#xff0c;更重要的是&#xff0c;它详细记录了在C#环境下&#xff0c;特别是使用VS2010作为开发平台时&#xff0c;针对每个版本的测试与使用经验。无论是构建Web应用程序还是W…...

STM32驱动WS2812灯珠颜色错乱?可能是你的GRB顺序和位序搞反了!

STM32驱动WS2812灯珠颜色错乱&#xff1f;GRB顺序与位序的深度解析 当你第一次用STM32成功点亮WS2812灯珠时&#xff0c;那种成就感难以言表。但紧接着&#xff0c;你可能遇到了一个令人困惑的问题&#xff1a;明明在代码里设置了纯红色&#xff08;255, 0, 0&#xff09;&…...

从零到一:基于Kettle(PDI)构建企业级数据集成管道

1. 企业级数据集成为何选择Kettle&#xff1f; 第一次接触Kettle&#xff08;现在官方称为Pentaho Data Integration&#xff09;是在2013年一个银行数据迁移项目上。当时客户需要将分散在20多个业务系统中的客户数据整合到新建的数据仓库&#xff0c;项目组评估了多个ETL工具后…...

手把手教你用GDB/LLDB调试器观察寄存器状态(附实战案例)

深入掌握GDB/LLDB寄存器调试&#xff1a;从原理到实战 在软件开发的世界里&#xff0c;调试器就像外科医生的手术刀&#xff0c;而寄存器则是CPU的脉搏。当你面对一个段错误&#xff08;Segmentation Fault&#xff09;或者难以捉摸的内存越界问题时&#xff0c;能够直接观察CP…...