Spring Boot 忽略 @JsonDeserialize 和 @JsonSerialize

2024-04-30

我有一个带有 RESTful 端点的 Spring Boot 应用程序,我想向其中添加自定义序列化器乔达时间 http://www.joda.org/joda-time/但我无法让应用程序默认 Jackson Serailzier 识别我的自定义 Serailzier。

我使用 @RepositoryRestResource 创建了 RESTFul 端点

@RepositoryRestResource(collectionResourceRel = "x", path = "x") 
public interface XRepository extends PagingAndSortingRepository<X, Long>
{
}

然后我有一个 GET 调用来返回所有对象 X:

http://本地主机:8181/x http://localhost:8181/x

这是我的序列化器:

@Component
public class JsonDateSerializer extends JsonSerializer<DateTime>
{

private static DateTimeFormatter formatter = DateTimeFormat.forPattern("dd/MM/yyyy");

@Override
public void serialize(DateTime value, JsonGenerator gen, 
                      SerializerProvider arg2)
    throws IOException, JsonProcessingException {

    gen.writeString(formatter.print(value));
}
}

我将其添加到属性 Getter 中,如下所示:

@JsonSerialize(using=JsonDateSerializer.class)
public DateTime getDateCreated()
{
    return dateCreated;
}

这个序列化器在普通应用程序中工作得很好,但是当我尝试在 Spring Boot 应用程序中使用它时,这些序列化器会被忽略。

如何让 Spring Boot 识别这些序列化器?


好吧,经过一番折磨我找到了答案。我使用了错误的库来进行 joda-datetime 的序列化和反序列化。

我正在使用

org.codehaus.jackson

当我应该使用时

com.fasterxml.jackson

我想这是一个很容易犯的错误,因为两个库具有几乎相同的属性和方法,因为 com.fasterxml.jackson 是构建在 org.codehaus.jackson 之上的。

现在回想起来,这是一个愚蠢的错误,但这是一个宝贵的教训,要始终检查您是否使用了正确的库!!!!

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

Spring Boot 忽略 @JsonDeserialize 和 @JsonSerialize 的相关文章

  • JVisualVM/JConsole 中的 System.gc() 与 GC 按钮

    我目前正在测试处理 XML 模式的概念验证原型 并围绕一个非常消耗内存的树自动机外部库 我已经获得了源代码 构建 我想绘制 真实峰值 堆 随着模式大小的增加 不同运行的内存消耗 使用的指标符合我的目的并且不会影响问题 或者至少是它的合理近似
  • 打印星号的 ASCII 菱形

    我的程序打印出这样的钻石 但只有当参数或菱形的每一面为4 例如如果我输入6 底部三角形的间距是错误的 我一直在试图找出答案 当参数改变时 底部的三角形不会改变 只有顶部的三角形会改变 它只适用于输入4 public static void
  • Java:在 eclipse 中导出到 .jar 文件

    我正在尝试将 Eclipse 中的程序导出到 jar 文件 在我的项目中 我添加了一些图片和 PDF s 当我导出到 jar 文件时 似乎只有main已编译并导出 我的意愿是如果可能的话将所有内容导出到 jar 文件 因为这样我想将其转换为
  • Spring Data JPA 选择不同

    我有一个情况 我需要建立一个select distinct a address from Person a 其中地址是 Person 内的地址实体 类型的查询 我正在使用规范动态构建我的 where 子句并使用findAll Specifi
  • 在 Wildfly 中与 war 部署共享 util jar 文件

    假设我有一个名为 util jar 的 jar 文件 该 jar 文件主要包含 JPA 实体和一些 util 类 无 EJB 如何使这个 jar 可用于 Wildfly 中部署的所有 war 无需将 jar 放置在 war 的 WEB IN
  • 当客户端关闭连接时,Spring StreamingResponseBody 请求线程未清理

    我在控制器中有一个端点 它返回一个StreamingResponseBody 用于向客户端发送文件 其代码大致如下 RestController RequestMapping value api public class Controlle
  • 来自十六进制代码的 Apache POI XSSFColor

    我想将单元格的前景色设置为十六进制代码中的给定颜色 例如 当我尝试将其设置为红色时 style setFillForegroundColor new XSSFColor Color decode FF0000 getIndexed 无论我在
  • 使用 JUnit 时,有没有办法验证测试方法中是否调用了 try/catch 指令的 Catch 部分?

    例如 如果我想测试以下课程 public class SomeClass public void someMethod try Some code where comething could go wrong catch Exception
  • Spring Security SAML2 使用 G Suite 作为 Idp

    我正在尝试使用 Spring Security 5 3 3 RELEASE 来处理 Spring Boot 应用程序中的 SAML2 身份验证 Spring Boot 应用程序将成为 SP G Suite 将成为 IDP 在我的 Maven
  • 自动生成Flyway的迁移SQL

    当通过 Java 代码添加新模型 字段等时 JPA Hibernate 的自动模式生成是否可以生成新的 Flyway 迁移 捕获自动生成的 SQL 并将其直接保存到新的 Flyway 迁移中 以供审查 编辑 提交到项目存储库 这将很有用 预
  • 是否可以通过编程方式查找 logback 日志文件?

    自动附加日志文件以支持电子邮件会很有用 我可以以编程方式设置路径 如以编程方式设置 Logback Appender 路径 https stackoverflow com questions 3803184 setting logback
  • 套接字的读写如何同步?

    我们创建一个套接字 在套接字的一侧有一个 服务器 在另一侧有一个 客户端 服务器和客户端都可以向套接字写入和读取 这是我的理解 我不明白以下事情 如果服务器从套接字读取数据 它在套接字中是否只看到客户端写入套接字的内容 我的意思是 如果服务
  • 合并来自多个 spring-boot YAML 文件的列表

    是否可以组合使用 YAML 编写的多个 spring boot 配置文件中相同元素的列表 Example postgres yml包含我的 postgres 数据库信息 它还包含我的迁移脚本的飞行路径位置 flyway locations
  • 生成的序列以 1 开头,而不是注释中设置的 1000

    我想请求一些有关 Hibernate 创建的数据库序列的帮助 我有这个注释 下面的代码 在我的实体类中 以便为合作伙伴表提供单独的序列 我希望序列以 1000 开头 因为我在部署期间使用 import sql 将测试数据插入数据库 并且我希
  • 如何避免 ArrayIndexOutOfBoundsException 或 IndexOutOfBoundsException? [复制]

    这个问题在这里已经有答案了 如果你的问题是我得到了java lang ArrayIndexOutOfBoundsException在我的代码中 我不明白为什么会发生这种情况 这意味着什么以及如何避免它 这应该是最全面的典范 https me
  • 如何在 Spring 属性中进行算术运算?

  • 使用 Mockito 模拟某些方法,但不模拟其他方法

    有没有办法使用 Mockito 模拟类中的某些方法 而不模拟其他方法 例如 在这个 诚然是人为的 Stock我想嘲笑的班级getPrice and getQuantity 返回值 如下面的测试片段所示 但我想要getValue 执行乘法 如
  • QuerySyntaxException:无法找到类

    我正在使用 hql 生成 JunctionManagementListDto 类的实际 Java 对象 但我最终在控制台上出现以下异常 org hibernate hql internal ast QuerySyntaxException
  • Docker 和 Eureka 与 Spring Boot 无法注册客户端

    我有一个使用 Spring Boot Docker Compose Eureka 的非常简单的演示 我的服务器在端口 8671 上运行 具有以下应用程序属性 server port 8761 eureka instance prefer i
  • 使用 Python 将对象列表转为 JSON

    我在转换时遇到问题Object实例到 JSON ob Object list name scaping myObj base url u number page for ob in list name json string json du

随机推荐

  • 使用 jQuery 加载脚本时保持范围

    假设我有一个包含以下内容的文件 test js var test something 然后我有一个主要脚本需要加载 test js 以获取测试变量 显然这有效 ajax dataType script cache true url test
  • 一个或多个参数值无效:键 xyz 的类型不匹配预期:S 实际:M

    我的 AWS Lambda 根据以下答案调用 DynamoDB https stackoverflow com a 33649402 495455 https stackoverflow com a 33649402 495455 我收到错
  • NSString 中的子字符串 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我在用NSString我想获取它的一个子字符串 其中包含字符串的前 20 个字符 我怎样才能做到这一点 您可以使用substringT
  • Glassfish Eclipse 插件与 jdk 8

    我正在尝试使用 glassfish eclipse plugin 启动 glassfish 4 不幸的是 它似乎无法识别我刚刚安装的 JDK 8 Release候选版本 完成 按钮保持禁用状态 如果我选择 java 7 jdk 完成按钮将启
  • GenServer 正常关闭

    我使用 GenServer 编写了一个 Elixir 应用程序 该应用程序在启动时启动外部应用程序 然后将其关闭 并在退出时进行其他清理 我在中添加了启动功能init 1 https hexdocs pm elixir GenServer
  • PySpark 将“map”类型的列转换为数据框中的多列

    Input 我有一个专栏Parameters类型的map形式 from pyspark sql import SQLContext sqlContext SQLContext sc d Parameters foo 1 bar 2 baz
  • 企业 iPhone 应用程序无线分发的安全性 - OTA iOS

    在企业 iPhone 应用程序的无线分发中 iPhone 安全地下载 XML 清单文件 其中包含指向 ipa 文件 应用程序本身 的完全限定 URL 然后从那里下载应用程序并安装它 我想知道这里是否存在安全漏洞 假设 iPhone 位于公共
  • d3.forcesimulation() 链接距离

    我在堆栈上查看了不同的链接距离 似乎为了改变链接距离 您需要实现一个函数 然后传递它来动态分配链接距离 如下所示 function linkDistance d return d distance 然后我认为我可以传递给 svg 但返回函数
  • 导入错误:使用 Mingus 库时没有名为“mt_exceptions”的模块

    提前原谅我的无知 我对 python 很陌生 我正在尝试使用 python 3 版本 https code google com r artdent mingus python3 https code google com r artden
  • 检查一个数字是否可以表示为两个立方之和的高效程序

    我正在尝试编写一个程序来检查数字 N 是否可以表示为两个立方之和 即 N a 3 b 3 这是我的代码 复杂度为 O n include
  • TFS 2012禁用多重签出不起作用[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我想禁用我们的 TFS 项目的多次签出 我期望它的工作方式如下 Bob 查看 File1 cs Joe 在 Visual Stud
  • 如何在logstash.conf文件中创建多个索引?

    我使用以下代码在logstash conf中创建索引 output stdout codec gt rubydebug elasticsearch host gt localhost protocol gt http index gt tr
  • python seaborn重置回matplotlib

    我使用的是seaborn版本o 4和matplotlib版本1 42 我有一个图表通过简单的绘图命令显示线条和标记 例如 plt plot 1 5 3 8 4 bo 由于潜在的错误 https github com mwaskom seab
  • 使用 pycassa 读取 Cassandra 1.2 表

    使用卡桑德拉 1 2 我按以下方式使用 CQL 3 创建了一个表 CREATE TABLE foo user text PRIMARY KEY emails set
  • python 中的关键字参数别名

    我总是觉得奇怪的是 有一些关键字参数 或参数 可以传递给函数或 init 类的方法 如何防止不熟悉您的代码的用户犯错误 如何让用户立即 几乎本能地 熟悉您的代码 而无需编写糟糕或冗长的文档 或者进行多次试验和错误 从而阻止用户快速 舒适地使
  • Vue cli 3项目,图像路径中的动态src不起作用

    我在 vue 组件中引用图像 url 例如 img alt Vue logo src statics reports logo png 这有效 但在尝试的同时 img alt Vue logo data return imgPath sta
  • Oracle 中的 MD5 (DBMS_OBFUSCATION_TOOLKIT.MD5)

    我正在尝试编写一个函数 从我到处收集的位中获取 MD5 哈希值 我想获得哈希的小写十六进制表示 到目前为止我有这个 CREATE OR REPLACE FUNCTION MD5 CADENA IN VARCHAR2 RETURN DBMS
  • 尽管不在形式中,但 Rails 属性会发生变化

    我有 Rails 应用程序 用户可以在其中互相分配任务 每个任务都有一名分配者和一名执行者 默认情况下 任务创建者 当前用户 始终是分配者 分配者和执行者都可以编辑同一个任务 我的问题如下 假设 user id 2 是分配者 user id
  • HTML5 svg 标签和 alt 属性

    不是 HTML 方面的专家 也不是检查 HTML 解析器的正确行为的专家 根据 html5 寻找正确的行为不好或预期 我们可以稍后处理 在新的 HTML5 标签中放置 alt 属性是否有效
  • Spring Boot 忽略 @JsonDeserialize 和 @JsonSerialize

    我有一个带有 RESTful 端点的 Spring Boot 应用程序 我想向其中添加自定义序列化器乔达时间 http www joda org joda time 但我无法让应用程序默认 Jackson Serailzier 识别我的自定