Java - 如何进行 JSON 日期验证?

2023-11-30

我有这段代码:

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    protected Date statusDate;

但不知何故它接受日期格式,例如 -

"statusDate": "2017-13-27"

or

"statusDate": "201823-12-12"

是否可以验证请求中的格式(而不是手动)?


@JsonFormat 用于在返回 statusDate 作为响应时设置输出格式。

最好创建一个接受 String statusDate 的 DTO 对象,然后在控制器中将其转换为日期格式。

要验证字符串格式的日期,可以使用@Pattern

public class StatusDateDto {

    @NotNull(message="Status date is a required field")    
    @Pattern(regexp = "^\\d{4}-\\d{2}-\\d{2}", message="Invalid status date")
    private String statusDate;

    //Getter and setter
}

public ResponseEntity<?> postStatusDate(@Valid @RequestBody StatusDateDto dateDto, BindingResult result) {

        if (result.hasFieldErrors()) {
            String errors = result.getFieldErrors().stream()
                .map(p -> p.getDefaultMessage()).collect(Collectors.joining("\n"));   

            return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(errors);
        }

        // Convert the String to Date after validation

        return ResponseEntity.ok().build();
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java - 如何进行 JSON 日期验证? 的相关文章

随机推荐

  • 缓冲折线以创建多边形的有效算法?

    我需要编写一些代码来缓冲一条线以创建多边形 如下所示 http www sli unimelb edu au gisweb BuffersModule Buff line htm 按照概述的步骤 我可以围绕不交叉或曲线太紧的简单线条创建多边
  • 为什么 groupby 操作的行为不同

    使用时pandas groupby 函数并在 groupby 之后操作输出 我注意到某些函数在作为索引返回的内容以及如何操作方面表现不同 假设我们有一个包含以下信息的数据框 Name Type ID 0 Book1 ebook 1 1 Bo
  • 如何直接从 Visual Studio 启动/停止本地 SQL Server 服务?

    我相信像许多开发人员一样 我的 PC 上安装了 Visual Studio 和 SQL Server 由于我使用 PC 执行各种任务而不仅仅是开发 因此 SQL Server 默认情况下会停止 直到我需要它进行另一次开发 目前 我直接进入
  • Org Mode: 符号的函数定义为 void: \,

    我正在尝试创建一个组织模式捕获模板 将每个条目写入基于时间的文件名 首先 有一个在暂存缓冲区中工作的辅助函数 Example input capture date based file path to logs log Expected o
  • 我找不到我创建的 Google 脚本(未附加到电子表格)

    我无法找到已保存的脚本 我跟着这个帖子创建一个安排电子邮件删除的脚本 我相信我保存了它 但在云端硬盘中搜索它却无济于事 该脚本仍在运行 因为电子邮件正在被删除 我尝试过的事情 我读过其他文章 提到跟踪脚本附加的电子表格 但我没有创建电子表格
  • 如何构建和安装hcluster?

    我从下载hclusterhttp pypi python org pypi hcluster 然后解压到一个文件夹 然后输入 python setup py install 看起来没问题 因为它显示 Z gt python setup py
  • Android 中调用 REST Web 服务时的 UTF8 编码

    我正在调用返回 XML 的剩余 WS 有些元素的字符串包括特殊字符 如 等 当我通过浏览器获取信息时 所有信息都会正确显示 但是当从 Android 调用它时 我没有获得正确的特殊字符 注意 解码 和 编码 变量 当我使用URLDecode
  • 使用 win32com.client 模块在 Python 中将 .XLSX 转换为 .XLS

    我正在尝试找到一种将许多文件从 xlsx 转换为 xls 的方法 并且一直在尝试使用 Python 和 win32com client 模块 import win32com client xl win32com client Dispatc
  • 从路径中提取文件名

    我想从以下路径中提取文件名 D Server User CUST MEA Data In Files CORRECTED CUST MEAFile csv 现在我编写了这段代码来获取文件名 只要文件夹级别没有改变 这就可以正常工作 但如果文
  • PHP 会话 - 锁定和共享问题

    我想知道是否可以在不锁定 SESSION 属性的情况下读取它 现在 session start 锁定SESSION 这意味着其他PHP进程将等待它被解锁 但是 有些进程只想获取一些 SESSION 变量 而不是写入它们 是否可以实现类似的功
  • EC2 实例上的 Terraform local-exec 配置程序失败并显示“权限被拒绝”

    尝试使用 Terraform 配置 EKS 集群 terraform apply失败并显示 module eks node null resource export rendered template Provisioning with l
  • 如何修复 C# Windows 窗体中列表视图的列宽?

    我有一个列表视图 我需要修复列表视图的列宽 以便在运行时用户无法拖动列标题并调整其大小 程序是什么 我已经搜索了所有属性 但没有一个能帮助我解决这个 pbm 这在 gridview 中是可能的 但在 listview 中怎么可能 最简单的方
  • 通用处理程序参数大小限制?

    我有一些 JavaScript 代码 它生成一个非常长的脚本 然后将其发送回服务器到用于创建 csv 的通用处理程序 我用于发送数据的 JavaScript 代码是 function postwith to p var myForm doc
  • SQL查询构造——将一列中的数据分成两列

    我有一个包含链接的专栏 问题是链接的标题位于同一列中 因此看起来像这样 linktitle linkurl我希望链接标题和 linkurl 位于单独的列中 我已经为 url 创建了一个新列 因此我正在寻找一种方法来提取它们并用它们更新 li
  • 使用负载均衡器时在 kubernetes 日志中查看客户端 IP 地址

    我在 GKE 上托管我的应用程序 服务器中安装的kubectl版本是v1 10 11 gke 1nginx ingress 是nginx ingress 0 28 2 我想在我的日志中查看客户端 IP 地址 目前 我只能看到 pod IP
  • 从本地目录(即不是来自 git 存储库)在 R 传单中渲染自定义图块

    我使用 Qgis 中的 Qtiles 插件从一个非常大的栅格中创建了一些图块 我已将它们保存到计算机上的本地目录中 现在想使用 R 将它们渲染在传单地图中 The addTiles函数传递一个 URL 但似乎不适用于本地文件路径 在另一篇文
  • Spring MVC 和 Jackson 映射不返回 json 中的根元素

    我在 Spring MVC 及其 json 支持方面遇到一个问题 我进行一次 ajax 调用来获取一些数据 并且我希望以 json 格式获取该数据 包括根值 我也在使用JABX实体中的注释 因为它们用于某些REST API 我已阅读该内容以
  • 如何将 ShowDialog 显示的表单中的消息附加到 Application2?

    我正在尝试使用此中的代码article让您知道您的应用程序何时空闲 如果您的应用程序只有一种表单 则此代码非常有用 你打电话Application2 Run myOnlyForm 其上的所有消息都通过 Application2 中的过滤器进
  • 渲染 React 组件从导入分配给变量..如何?

    所以 我需要动态确定要显示哪个组件 例如 我有 import Component1 from somepath Component1 import Component1 from somepath Component2 var P red
  • Java - 如何进行 JSON 日期验证?

    我有这段代码 JsonFormat shape JsonFormat Shape STRING pattern yyyy MM dd protected Date statusDate 但不知何故它接受日期格式 例如 statusDate